ros-industrial / fanuc

ROS-Industrial Fanuc support (http://wiki.ros.org/fanuc)
Other
155 stars 110 forks source link

support: add Gazebo simulation models #145

Closed gavanderhoorn closed 4 years ago

gavanderhoorn commented 9 years ago

A nice-to-have: add Gazebo compatible versions of the manipulator xacros/urdfs in the support package so they can be placed in simulated worlds.

gavanderhoorn commented 8 years ago

Might also be nice to somehow support The Construct.

wkentaro commented 8 years ago

Hi, I'm trying to do this because I need to simulate robot control for my project in Google Summer of Code in this year. I worked around and have done 1. spawning model and 2. control joint position with ROS topic interface as shown below. code Maybe the joint controller should be changed to receive joint trajectory and controlled with actionlib, in normal cases (I have used PR2 and Baxter robots). Do you have idea about this? I'm new to ros-industrial so please correct me if I'm missing something.

ezgif com-video-to-gif 1

gavanderhoorn commented 8 years ago

Hi. Thanks for looking into this.

We've experimented with Gazebo packages for the models in ROS-Industrial some weeks/months ago and this is what we noticed:

Structuring and naming the launch files is something that is rather subjective unfortunately, and I don't think we've had enough exposure to really standardise anything.

The two main approaches (which are very similar) can be found in the _gazebo packages in the abb_experimental and the staubli_experimental repositories. I would appreciate it if you could take a look at those packages and see whether you have any thoughts on if things should be done differently.

Note that the proposed approach is rather ROS focused: still using URDF, only a single robot in isolation, etc. That might be something to address.

gavanderhoorn commented 8 years ago

Also: because of the fact that inertias and masses are really only (gu)estimates, the dynamic behaviour will never really come close to the real robot. I feel this is important to mention, and so at least the Staubli packages include a warning about that (here for the TX90 fi).

wkentaro commented 8 years ago

Structuring and naming the launch files is something that is rather subjective unfortunately, and I don't think we've had enough exposure to really standardise anything. The two main approaches (which are very similar) can be found in the _gazebo packages in the abb_experimental and the staubli_experimental repositories. I would appreciate it if you could take a look at those packages and see whether you have any thoughts on if things should be done differently.

Thanks for the suggestion, I decided to follow the _gazebo name suffix to simply put gazebo stuffs into that package like the moveit related packages already in fanuc and fanuc_experimental repository. I sent PR: https://github.com/ros-industrial/fanuc_experimental/pull/20

jediofgever commented 5 years ago

Currently, I am interested in this; progress can be seen in this branch ; https://github.com/jediofgever/fanuc_experimental/tree/gazebo_dev

Peek 2019-10-14 18-04

gavanderhoorn commented 4 years ago

I'm going to close this.

Reason: creating these packages is quite some work, especially when we'd want to use effort interfaces everywhere -- and we should, as otherwise robot<->world/object interaction in Gazebo becomes very unstable/unpredictable. Effort interfaces would need tuning of PIDs and other such series/variant specific parameters, and with the many models we already support in the repository, that would mean a lot of tuning.

Creating Gazebo support packages for all robots therefore is not something we'll do 'just because we can', but will have to be prioritised based on when it is requested.