-
Notifications
You must be signed in to change notification settings - Fork 14
Dual arm tutorial for ROS2 #3
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
base: main
Are you sure you want to change the base?
Dual arm tutorial for ROS2 #3
Conversation
- Add ros2 control tags/parameters for each robot arm - Some parameters are specific to each arm and some common to both - Ports and IP different for each arm - RTDE scripts, mock hardware, headless mode common to the arms
- Instantiates one controller manager for both arms and passes the controller configs and update rate - Receives the robot_description param from the robot_description_topic (robot_state_publisher) - Does not yet implement io_and_status_controller and forward_velocity_controller - Has functionality to spawn and stop controllers for both arms - Only works in simulation and not with real hardware - Limited number of launch parameters as of now
…Universal_Robots_ROS2_Tutorials into dual_arm_tutorials
First, Thank you for your contribution. |
@eladpar, I recommend ensuring you pass all the parameters for ros2_control for both arms in your description. In the Humble version of ur_description, the ur_macro.xacro contains the ros2_control tags, unlike in Rolling. Once you have configured these parameters, you can refer to the my_dual_robot_cell/my_dual_robot_cell_control/config/combined_controllers.yaml file, which defines controllers for both arms. In your driver launch file, try spawning the controllers using only the ros2_control_node (comment out everything else). Once that works, you can continue testing and gradually add all the other nodes and functions. |
@fmauch Once this PR has been merged do you think we can make a branch for humble? I'd be willing to make the tutorials. |
@fmauch Can you suggest how I can write the docs (reST documentation). Do you have a Sphinx workflow for the same? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry for not coming back on this earlier. I appreciate your efforts very much @ShahhhVihaan. I'll review this bit by bit in order to make it easier to find time slots for reviewing.
So far, I have been looking a the description which looks very good, overall. Please see my comments on suggestions for improvements.
my_dual_robot_cell/my_dual_robot_cell_description/meshes/171005_Motek_Monitor_L.dae
Outdated
Show resolved
Hide resolved
my_dual_robot_cell/my_dual_robot_cell_description/urdf/my_dual_robot_cell_macro.xacro
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Second round of reviewing, this time the control package.
This draft PR addresses issue #1 regarding a dual arm example setup. It introduces three packages that perform the following functions:
This has been tested successfully on two UR3 arms. Here's the ROS graph for the same:

I need to clean up the packages and write tutorial documentation before it is ready to merge.