-
Notifications
You must be signed in to change notification settings - Fork 9
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
Add Gazebo support #23
Comments
Reopening this, as the issue only addressed ros2_control stuff, not gazebo itself. First next step is likely to add use_sim_time parameters to all relevant nodes and settings |
Regarding the laser scanners on the mobile platform and gazebo the Nav2 wiki has a nice tutorial: https://navigation.ros.org/setup_guides/sensors/setup_sensors.html#simulating-sensors-using-gazebo |
hey, We have a Igus set up in Gazebo, let me know if (and perhaps how) you want to integrate the code into iRC_ROS! |
Hey @JHeuverRiwo I myself have no experience with gazebo, so I am unsure how this is normally done in ROS packages. In general I would definitely like to have this either integrated or in a separate repo that is linked somewhere in the readme. Let me research a bit how other ROS2 robot packages do the gazebo integration and if there's any legal stuff that might cause problems when integrating it into this repo and I'll get back to you |
Hey @cpr-fer, Great; let me know if you run into anything I could help with. |
Hey, I noticed that the meshes are not always properly importing into Gazebo. I read on robotology/idyntree#291 that the 'package' tag in the uri may not be parsed correctly by external libraries such as gazebo. Concretely, switching from filename="package://irc_ros_description/MESH_DIR to filename="file://$(find irc_ros_description)/MESH_DIR helps resolve this issue for me. |
Hey @JHeuverRiwo I looked a bit into it:
I'll test your proposed changes for the meshes sometime this week and merge them if it works. Do you have a fork with your current Gazebo code that you would be willing to share? Otherwise I would start a new branch here and try to use the same package as a reference that you used. In case there is anything confidential in the code that you would prefer to discuss over email feel free to mail me at fer [at] cpr-robots.com |
Hey @cpr-fer, That sounds good! The package we are using right now is separated from your driver, and it contains a few things specific to our setup, so I would need to do a little bit of work (really nothing too big) to make it ready for integration. I can probably start working on that somewhere end of next week. I think how I would integrate it, is by moving our code to a separate moveit config package contained in your driver (called something like 'irc_ros_sim_moveit_config'); this way you could start the rebel with the right controllers and other configuration files or import it using the moveit configs builder into launch files. I think it's probably easiest if I fork your repo and submit a pull request when it is ready for you, if that also works for you. Let me know what you think! In case something comes up from our side I will also let you know. |
Hi @JHeuverRiwo That sounds like a great way to move forward with this! In the meantime I started to familiarize myself a bit with gazebo and the UR package you linked above, so that I'll be able to understand your future pull requests :) Thanks a lot, I am really looking forward to this |
Hey, are there any updates on how to simulate the igus ReBeL 6DOF with Gazebo? I did not quite understand what kind of support was added with #50. Thanks for any help on that :) |
I don't know the current state of what @JHeuverRiwo was planning, I have not found the time yet to work on it myself :/
Well I would not really call it simulation, but the mock_hardware option launches the two controllers successfully for me. Can you post your launch log here? $ ros2 launch irc_ros_bringup rebel.launch.py hardware_protocol:=mock_hardware
# Different terminal
$ ros2 control list_controllers
joint_state_broadcaster[joint_state_broadcaster/JointStateBroadcaster] active
joint_trajectory_controller[joint_trajectory_controller/JointTrajectoryController] active The gazebo launch option was added for future use, as of now it does not do anything yet |
Hey @cpr-fer, my log is as follows
|
I checked your log and am 99% certain that it is another missing entry in the package.xml file. Can you add
to the bringup package xml file? |
Yes, so adding the above to the package.xml file results in two dependencies showing when executing
So this repo is also dependent on ros2_controllers. I resolved the issue by installing the missing packages with |
Perfect, thank you! I added the changes to the package.xml now as well |
It would be practical to have fake hardware support for testing and simulating. Is ros2_control fake hardware the best approach for this? Also how hard is this to integrate into a simulation framework such as gazebo?
The text was updated successfully, but these errors were encountered: