Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Universal Robot functionality in Gazebo simulation for GPS. #49

Open
wants to merge 11 commits into
base: master
Choose a base branch
from

Conversation

wtokumaru
Copy link

@wtokumaru wtokumaru commented Sep 12, 2016

Contributed to by @symbio-mitch, @symbiomark, @jlmsymbio, and @wtokumaru
Mitch Adler [email protected]
Mark Rogers [email protected]
Jacob Mandelson [email protected]
William Tokumaru [email protected]

@cbfinn
Copy link
Owner

cbfinn commented Sep 16, 2016

This looks great! Very nice documentation.

Is there a way that I can test it in simulation?
If so, can you add detailed instructions in docs/index.md for setting it up and running the example? You can edit the "ROS Setup" section appropriately, and add a new section under "Examples" for the UR5.

Note that docs/index.md corresponds to the webpage at rll.berkeley.edu/gps.

@symbio-mitch
Copy link

Yep, it should be ready to go in Gazebo. Added to index.md the dependencies and process for running.

Let us know how it goes :).

@ahundt
Copy link

ahundt commented Jan 2, 2017

Is there anything outstanding on this before merging? I'm interested in trying it out.

@wtokumaru
Copy link
Author

wtokumaru commented Jan 3, 2017 via email

@ahundt
Copy link

ahundt commented Jan 9, 2017

@wtokumaru great! @cbfinn can this be merged?

ahundt added a commit to ahundt/gps that referenced this pull request Jan 9, 2017
Universal Robot functionality in Gazebo simulation for GPS.
@jianlanluo
Copy link

jianlanluo commented Jun 9, 2017

@wtokumaru @cbfinn After some initial trials of this PR, I believe there are some minor notes to be added.

  1. Dependencies, sudo apt-get install ros-indigo-urdf*, xacro, robot-model

  2. __init__.py file is missing in gps.agent.ur_ros folder, so python can't do import

  3. urdf file of universal robots, original hyperparameter.py suggested to find urdf file under

$UR_PATH/ur_description/urdf/ , this would be fine if using ROS < Indigo. However, starting from Indigo, these urdf files are not directly provided anymore under that folder, but instead xacro files, please see https://github.com/ros-industrial/universal_robot/tree/indigo/ur_description/urdf .

So, for ros >= Indigo, you need to manually convert these xacro files to urdf, I use rosrun xacro xacro --inorder -o ur5_robot.urdf ur5_robot.xacro, and the whole simulation worked after I pointed the tree_path to this generated urdf file.

If you build ros-industrial from source, it should be fine. But if you install the ros-industrial stack using apt-get, these folders are inside /opt/ros, so you probably won't have write access to them, you can download these files https://github.com/ros-industrial/universal_robot/tree/indigo/ur_description/urdf in a folder owned by you, and then use xacro for converting format.

I am going to test this on a real ur5 robot, and will let you know once I have more questions.

@wtokumaru Thanks for the nice work!

Jianlan

@wtokumaru
Copy link
Author

Thank you for your feedback @jianlanluo! We will update this PR shortly with your suggestions.

@cbfinn
Copy link
Owner

cbfinn commented Jun 9, 2017

Thanks @jianlanluo!

Happy to merge when changes have been made and Jianlan approves.

@wtokumaru
Copy link
Author

Added commits and should be ready to merge when approved by @jianlanluo.

@jacknlliu
Copy link

Is this ready for merging?

@wtokumaru
Copy link
Author

I believe so.

@jacknlliu
Copy link

I think the PR2 part should be split from ROS package gps_agent_pkg, then package gps_agent_pkg will be robot-agnostic, at least we don't need to compile the gps_agent_pkg with PR2 ROS packages dependencies which is not needed for UR.

And other two things should be considered.

  • URDF loading. Could we load the URDF from ros parameter robot_description, not from file? Or, it will not good for a distribution system in which the robot configuration will locate in a standalone place.
  • Tensorflow implement. This PR haven't implement the tensorflow support. This will make user confusion, since the repo using tensorflow as default for ROS package.

More things will be deeply explored.

@wtokumaru
Copy link
Author

@jacknlliu this PR was designed for this codebase over a year ago and is not really intended to change. Further development on this feature since then is unfortunately proprietary. I am not sure what @cbfinn's plan is with it but you are welcome to merge and modify it as you see fit.

@jacknlliu
Copy link

@wtokumaru thanks for sharing your thoughts. Are there some better algorithms beyond this GPS for such tasks? I hope to find a replacement.

@wtokumaru
Copy link
Author

@jacknlliu What kind of tasks are you talking about specifically?

@jacknlliu
Copy link

unknown dynamics and need fewer samples, more efficient sample.

@wtokumaru
Copy link
Author

For model-based reinforcement learning specifically for a UR simulation, I would recommend not using something quite as hefty as GPS. Something like a simple optimal control solver should be sufficient. Not sure what you mean by more efficient samples. It may also worth note that any simulation has known dynamics (itself).

@wtokumaru
Copy link
Author

Was this ever planned to be merged? I do not have write access, so I am not able to... @cbfinn

@seangeiger
Copy link

Has anyone gotten this working on the actual UR5 arm outside of simulation?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants