Simulating multiple robots in Gazebo through MATLAB/Simulink
Show older comments
I am new to matlab/simulink and gazebo and am looking to set up a multiple robot gazebo environment. The examples provided in the website go through the multiple robot simulations (in warehouse environment) in simulink, but the simulations were not on Gazebo.
Any help would be highly appreciated.. Thank you
Answers (2)
Amrtanshu Raj
on 28 Sep 2020
0 votes
Hi,
You can use gazebo co-simulation to get the desired Implementation. This document explains how to setup gazebo co-sim. This example shows how to simulate a Differential Drive Robot in Gazebo via Simulink
Hope this helps !!
5 Comments
Sanyam Vyas
on 29 Sep 2020
Amrtanshu Raj
on 29 Sep 2020
No, you do not need 2 ip addresses. You will be having different topics for each robot. You can publish on each of the topic to get the desired results. It won't be a problem adding more than 1 robot to same gazebo world and simulating it from same simulink model.
For eg - robot1/left_wheel and robot2/left_wheel. Applying torque on first will move the first robot and on second will move the second robot.
Antonio Bono
on 18 Jun 2021
Edited: Antonio Bono
on 18 Jun 2021
Hello everyone!
I tried to use 6 robots in one single simulink sheet as @Amrtanshu Raj suggested but unfortunately only one robot moves (all can move if simulated alone so I don't think the problem is in my code). I can read the the poses of all the robots ( except for the moving robot, they remain in their initial position...) therefore I suppose the problem is in the actuation commands. I am using the same torque commands and wheel speed and pose measurements of the example Control a Differential Drive Robot in Gazebo with Simulink (see the attached figs of the general scheme and the one relative to a single robot).
Has anyone managed to run a simulation with multiple robots using this simulink gazebo co-simulation?
Any help would be highly appreciated.. Thank you!
P.S. Attached you can also find the gazebo world thet I use to spawn the robots.
Shin Ee Soong
on 5 Mar 2022
Hi, quick question: how do you add more than 1 robot to the gazebo empty world in the VMWare (virtual machine for gazebo)?
Thank you!
Jon Aztiria
on 19 May 2022
@Shin Ee Soong This post may be useful: https://www.theconstructsim.com/ros-qa-130-how-to-launch-multiple-robots-in-gazebo-simulator/.
Gaurav Bhosale
on 29 Jun 2021
0 votes
Hi Antonio,
There is command overriding issue associated with few apply command in multiple robot scenario. We worked on this issue in new releases but this problem exist in older release.
There is workaround that you can do,
1] You have added models <r1> <r2> and so on. This is fine. But, you kept link and joint names same for all models.
e.g. <r1> has <link name='chassis'> and <r2> also has <link name='chassis'>
2] Instead of same link name, if you keep link names different, then there will not be overriding issue.
e.g. <r1> can have <link name='chassisR1'> and <r2> can have <link name='chassisR2'>
This should apply for each joint and link, such that link and joint names should be unique.
With this way, you can use apply/set command for multiple robots. Let me know, if this issue still exist.
Thanks
Categories
Find more on Robotics in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!