"Stable" build. A pick and place simulation of a UR10 with Robotiq Gripper. Runs Rviz, ROS2 Humble and Gazebo Harmonic.
Note: Required to have Universal_Robots_ROS2_Driver package installed.
After adding to workspace, run
colcon build --packages-select my_ur
source install/setup.bash
To run the ROS2 UR Description Launch File, (ur10 only)
ros2 launch my_ur view_ur.launch.py ur_type:=ur10
To run with ROS UR Simulation Launch File, (ur10 only)
ros2 launch my_ur ur_sim_control.launch.py # Launch only rviz and gazebo
ros2 launch my_ur ur_sim_moveit.launch.py # Launch with Moveit
To try sending a command using ur_robot_driver package,
ros2 run ur_robot_driver example_move.py
If my_mtc package is installed (in my repos), run the following alongside launch with Moveit,
ros2 launch my_mtc pick_place_demo.launch.py # currently not working, see known bugs section
Note that certain changes need to be made to other packages that this package depends on. (There's too many lines to keep track off, so I will only provide a summary)
- Universal_Robots_ROS2_Driver (
ur_moveit_configpackage)
controllers.yaml: Added gripper_controller config. (produced by moveit_assistant)joint_limits.yaml: Added gripper limits. (produced by ...)ur_macro.srdf.xacro: Added gripper groups, states and disabled collisions (produced by moveit_assistant)pilz_cartesian_limits.yaml: Added new file (produced by moveit_assistant)ur_moveit.launch.py: Added move_group_capabilities
gz_ros2_controlpackage
gz_system.cpp: Removed adding suffix_mimicwhenros2_controlsees a mimic joint. [WHO IN THE RIGHT MIND IMPLEMENTED THIS, EXPLAIN YOURSELF]
- Universal_Robots_ROS2_Driver
ur_robot_driverpackage
example_move.pyscript: Instead ofscaled_joint_trajactory_controller, changed tojoint_trajectory_controller
- Planned path/movement of robot arm seems "janky". Gripper approaching in wrong direction [partially fixed]
- Unable to move to "set positions by srdf" using moveit task constructor [fixed by point 1.5, move_group_capabilities]
- Unable to move using moveit task constructor after planning [fixed, changed
my_mtclaunch files. Check README in the other repo for more details] - When used alongside
my_mtcpackage, optimizer is unable to find a "good enough" path. [See above bug] - Gripper closing and opening is werid. Mimic joints don't seem to work as intended in Gazebo. [nuked gripper code, redo using FollowJointTrajectory instead of GripperCommand]
-
ros2_controlcan't find joint with added_mimic[Install source, change the code] - Cannot control gripper with moveit [Use moveit assistant to produce controllers, groups etc.]
- Cannot control arm with moveit [Disable collisions between arm and gripper]
- Moveit planning sometimes goes through ground plane [Add ground plane box to urdf]