Closed gavanderhoorn closed 4 years ago
Might also be nice to somehow support The Construct.
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.
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:
fanuc_lrmate200id_support
is the base package, fanuc_lrmate200id_gazebo
packages the Gazebo support)FollowJointTrajectory
controller over the joints, remapping topics to match ROS-I spec, etc.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.
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).
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
Currently, I am interested in this; progress can be seen in this branch ; https://github.com/jediofgever/fanuc_experimental/tree/gazebo_dev
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.
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.