Multi Vehicle simulation using gazebo without ROS

I managed to find a way to simulate several vehicles (IRIS) without the need of mavors. Thus, we can use DronecodeSDK directly.

Details of the solutions:

Some verifications are needed from any one who understand what is happening

The solution is very simple and not professional at all. However it do the work perfectly (from my point of view)

Let’s take the iris quadcopters,

  1. Go the the sitl_gazebo folder in Tools, find the iris folder in the model folder
  2. We start by creating 3 different folders each one contain the iris.sdf and the model.conf
  3. Change the mavlink ports number to make it communicate with the px4 (For example)
  4. Change the file name to iris_1.sdf for example and continue to iris_x.sdf for the wanted drone numbers
  5. Change the model name inside the iris_x.sdf to correspond to the file name
  6. Modify the same thing inshttps://dev.px4.io/en/simulation/multi_vehicle_jmavsim.htmlide the model.conf
  7. Go to the iris.world in the world folder. Add the above created models with new positions
  8. Go to the page : https://dev.px4.io/en/simulation/multi_vehicle_jmavsim.html
  9. Do number 1 an 2 only
  10. Start gazebo with the path to the new iris.world

Now I can connect to any quadcopter using the SDK using the port 14540 14541 1454(i+1) where i is the drone number.

During tests everything looks fine without any problem I have some warning when I start gazebo with the verbose option
!?master /meta/Spider-pig/Firmware/Tools> gazebo --verbose sitl_gazebo/worlds/iris.world
Gazebo multi-robot simulator, version 9.3.0
Copyright © 2012 Open Source Robotics Foundation.
Released under the Apache 2 License.
http://gazebosim.org

[Msg] Waiting for master.
[Msg] Connected to gazebo master @ http://127.0.0.1:11345
[Msg] Publicized address: 129.175.4.102
Gazebo multi-robot simulator, version 9.3.0
Copyright © 2012 Open Source Robotics Foundation.
Released under the Apache 2 License.
http://gazebosim.org

[Msg] Waiting for master.
[Msg] Connected to gazebo master @ http://127.0.0.1:11345
[Msg] Publicized address: 129.175.4.102
[Dbg] [gazebo_mavlink_interface.cpp:138] not found for channel[0] no joint control will be performed for this channel.
[Dbg] [gazebo_mavlink_interface.cpp:138] not found for channel[1] no joint control will be performed for this channel.
[Dbg] [gazebo_mavlink_interface.cpp:138] not found for channel[2] no joint control will be performed for this channel.
[Dbg] [gazebo_mavlink_interface.cpp:138] not found for channel[3] no joint control will be performed for this channel.
[Wrn] [gazebo_mavlink_interface.cpp:127] joint [zephyr_delta_wing::propeller_joint] not found for channel[4] no joint control for this channel.
[Wrn] [gazebo_mavlink_interface.cpp:127] joint [zephyr_delta_wing::flap_left_joint] not found for channel[5] no joint control for this channel.
[Wrn] [gazebo_mavlink_interface.cpp:127] joint [zephyr_delta_wing::flap_right_joint] not found for channel[6] no joint control for this channel.
[Dbg] [gazebo_mavlink_interface.cpp:138] not found for channel[7] no joint control will be performed for this channel.
[Msg] Using MAVLink protocol v2.0
[Dbg] [gazebo_mavlink_interface.cpp:138] not found for channel[0] no joint control will be performed for this channel.
[Dbg] [gazebo_mavlink_interface.cpp:138] not found for channel[1] no joint control will be performed for this channel.
[Dbg] [gazebo_mavlink_interface.cpp:138] not found for channel[2] no joint control will be performed for this channel.
[Dbg] [gazebo_mavlink_interface.cpp:138] not found for channel[3] no joint control will be performed for this channel.
[Wrn] [gazebo_mavlink_interface.cpp:127] joint [zephyr_delta_wing::propeller_joint] not found for channel[4] no joint control for this channel.
[Wrn] [gazebo_mavlink_interface.cpp:127] joint [zephyr_delta_wing::flap_left_joint] not found for channel[5] no joint control for this channel.
[Wrn] [gazebo_mavlink_interface.cpp:127] joint [zephyr_delta_wing::flap_right_joint] not found for channel[6] no joint control for this channel.
[Dbg] [gazebo_mavlink_interface.cpp:138] not found for channel[7] no joint control will be performed for this channel.
[Msg] Using MAVLink protocol v2.0
[Dbg] [gazebo_mavlink_interface.cpp:138] not found for channel[0] no joint control will be performed for this channel.
[Dbg] [gazebo_mavlink_interface.cpp:138] not found for channel[1] no joint control will be performed for this channel.
[Dbg] [gazebo_mavlink_interface.cpp:138] not found for channel[2] no joint control will be performed for this channel.
[Dbg] [gazebo_mavlink_interface.cpp:138] not found for channel[3] no joint control will be performed for this channel.
[Wrn] [gazebo_mavlink_interface.cpp:127] joint [zephyr_delta_wing::propeller_joint] not found for channel[4] no joint control for this channel.
[Wrn] [gazebo_mavlink_interface.cpp:127] joint [zephyr_delta_wing::flap_left_joint] not found for channel[5] no joint control for this channel.
[Wrn] [gazebo_mavlink_interface.cpp:127] joint [zephyr_delta_wing::flap_right_joint] not found for channel[6] no joint control for this channel.
[Dbg] [gazebo_mavlink_interface.cpp:138] not found for channel[7] no joint control will be performed for this channel.
[Msg] Using MAVLink protocol v2.0
[Wrn] [Publisher.cc:141] Queue limit reached for topic /gazebo/default/iris_2/motors, deleting message. This warning is printed only once.
[Wrn] [Publisher.cc:141] Queue limit reached for topic /gazebo/default/iris_2/imu, deleting message. This warning is printed only once.
[Wrn] [Publisher.cc:141] Queue limit reached for topic /gazebo/default/iris/motors, deleting message. This warning is printed only once.
[Wrn] [Publisher.cc:141] Queue limit reached for topic /gazebo/default/iris/motor_speed/0, deleting message. This warning is printed only once.
[Wrn] [Publisher.cc:141] Queue limit reached for topic /gazebo/default/iris/motor_speed/1, deleting message. This warning is printed only once.
[Wrn] [Publisher.cc:141] Queue limit reached for topic /gazebo/default/iris/motor_speed/2, deleting message. This warning is printed only once.
[Wrn] [Publisher.cc:141] Queue limit reached for topic /gazebo/default/iris/motor_speed/3, deleting message. This warning is printed only once.
[Wrn] [Publisher.cc:141] Queue limit reached for topic /gazebo/default/iris/imu, deleting message. This warning is printed only once.
[Wrn] [Publisher.cc:141] Queue limit reached for topic /gazebo/default/iris_1/motors, deleting message. This warning is printed only once.
[Wrn] [Publisher.cc:141] Queue limit reached for topic /gazebo/default/iris_1/motor_speed/0, deleting message. This warning is printed only once.
[Wrn] [Publisher.cc:141] Queue limit reached for topic /gazebo/default/iris_1/motor_speed/1, deleting message. This warning is printed only once.
[Wrn] [Publisher.cc:141] Queue limit reached for topic /gazebo/default/iris_1/motor_speed/2, deleting message. This warning is printed only once.
[Wrn] [Publisher.cc:141] Queue limit reached for topic /gazebo/default/iris_1/motor_speed/3, deleting message. This warning is printed only once.
[Wrn] [Publisher.cc:141] Queue limit reached for topic /gazebo/default/iris_1/imu, deleting message. This warning is printed only once.
[Wrn] [Publisher.cc:141] Queue limit reached for topic /gazebo/default/iris_2/motor_speed/0, deleting message. This warning is printed only once.
[Wrn] [Publisher.cc:141] Queue limit reached for topic /gazebo/default/iris_2/motor_speed/1, deleting message. This warning is printed only once.
[Wrn] [Publisher.cc:141] Queue limit reached for topic /gazebo/default/iris_2/motor_speed/2, deleting message. This warning is printed only once.
[Wrn] [Publisher.cc:141] Queue limit reached for topic /gazebo/default/iris_2/motor_speed/3, deleting message. This warning is printed only once.

I do not know if they are serious errors or not.

Best regards,

1 Like