UniversalRobots / Universal_Robots_ROS2_Driver

Universal Robots ROS2 driver supporting CB3 and e-Series
BSD 3-Clause "New" or "Revised" License
364 stars 186 forks source link

Usage of Driver, Description, Gazebo Simulation on ROS2 #698

Closed ghost closed 2 days ago

ghost commented 1 year ago

Hey, I have installed Universal_Robots_ROS2_Driver using binary builds.

  1. I checked that ursim works based on docker. But unable to run Usage with official UR simulator on ros2 commands. Could I get explanation what's wrong on this?
  2. For full simulation on Gazebo(I don't have real robot), should I install Description Gazebo Simulation also or just Driver is enough?
  3. As there is no actual gripper on URbot series, I am planning to add customized gripper on it, convert it into URDF, and want to simulate it onto Gazebo, ursim for object detection. Is there a documentation or tutorial how to do it?

Thanks in advance.

firesurfer commented 1 year ago

Hey just some notes from my experience. Getting the model working in gazebo takes quite a lot of work at the moment. I realized that for most applications the mocking interface of ros2control can be enough for testing.

ghost commented 1 year ago

@firesurfer Thanks. Are you referring to this? Then apart from Gazebo, do you think it is wise to rely on Universal_Robots_ROS2_Driver and URSIM for it along with ROS2 control? I think Articulated Robotics is giving a good solution. Then could I ask that ROS2 control can be operated without real robot?

firesurfer commented 1 year ago

@segapss

So either way you are doing this. You will / want to always use ros2control somewhere in between. If you specify use_fake_hardware=true ros2control will initiate a simple mockinterface (which is enough if you want to test position controlled commands).

We tried some time ago to setup everything with gazebo in order to test force controlled algorithms but had a hard time to get everything running stable. We decided in the end not to use it.

Regarding point 3. You can use the robotiq grippers fairly easy on the URs.

ghost commented 1 year ago

@firesurfer Thanks. Then I will need to rely on ros2control more.

sillkjc commented 1 year ago

My team has written a Gazebo plugin that watches ./joint_states and sets the gazebo robot joint angles accordingly. We run ur_sim in the loop with use_fake_hardware false, so the simulated code does not know it is simulated.

We will be publishing this on our github, but if there is interest to accelerate this let me know.

PietroDrd commented 8 months ago

@sillkjc Hi! Is there any update about your Gazebo plugin? Thanks!

brta-jc commented 7 months ago

@sillkjc Hi! Is there any update about your Gazebo plugin? Thanks! Hi PietroDrd, I've pushed it here, there is also a Noetic branch. https://github.com/Boeing/gazebo_set_joint_positions_plugin/tree/humble

We are currently in queue to get ros-humble-boeing-* packages added to apt so they can easily be pulled as debs. As we get the flow down we'll be releasing more packages.

VinDp commented 2 days ago

Since the issue is pretty old and everything seems to be solved, I will close it. It could be helpful to add that Gazebo simulation depends only on the description package and the moveit_config (part of the driver repo). Also we now have an updated documentation for GZ for Rolling and Jazzy.