PX4 / PX4-Autopilot

PX4 Autopilot Software
https://px4.io
BSD 3-Clause "New" or "Revised" License
8.5k stars 13.51k forks source link

SITL gz : Exporting world model from ignition to gazebo #21589

Open fbenti opened 1 year ago

fbenti commented 1 year ago

I have a world model defined as follow: https://github.com/osrf/mbzirc/blob/main/mbzirc_ign/worlds/simple_demo.sdf, where all the plugins come from ignition.

If I copy this model into /PX4-Autopilot/Tools/simulation/gz/worlds, compile with make px4_sitl gz_x500 and then try to launch it with PX4_SYS_AUTOSTART=4001 PX4_GZ_WORLD=simple_demo PX4_GZ_MODEL=x500 ./build/px4_sitl_default/bin/px4 it returns lots of error because it is failing to load the plugins from ignition

INFO  [px4] startup script: /bin/sh etc/init.d-posix/rcS 0
env SYS_AUTOSTART: 4001
INFO  [param] selected parameter default file parameters.bson
INFO  [param] importing from 'parameters.bson'
INFO  [parameters] BSON document size 274 bytes, decoded 274 bytes (INT32:11, FLOAT:3)
INFO  [param] selected parameter backup file parameters_backup.bson
INFO  [dataman] data manager file './dataman' size is 7866640 bytes
INFO  [init] starting gazebo with world: /home/aut/PX4-Autopilot/Tools/simulation/gz/worlds/simple_demo.sdf
WARN  [init] PX4_GZ_MODEL_POSE not set, spawning at origin.
INFO  [gz_bridge] world: simple_demo, model name: x500_0, simulation model: x500
INFO  [gz_bridge] Requested Model Position: 0,0,0,0,0,0
[Err] [SystemLoader.cc:118] Failed to load system plugin: (Reason: Could not find shared library)
- Requested plugin name: [ignition::gazebo::systems::RFRange]
- Requested library name: [libRFRange.so]
- Library search paths:
  - /home/aut/.gz/sim/plugins/
  - /usr/lib/x86_64-linux-gnu/gz-sim-7/plugins/
  - /home/aut/.ignition/gazebo/plugins/
[Err] [SystemLoader.cc:118] Failed to load system plugin: (Reason: Could not find shared library)
- Requested plugin name: [mbzirc::GameLogicPlugin]
- Requested library name: [libGameLogicPlugin.so]
- Library search paths:
  - /home/aut/.gz/sim/plugins/
  - /usr/lib/x86_64-linux-gnu/gz-sim-7/plugins/
  - /home/aut/.ignition/gazebo/plugins/
[Err] [SystemLoader.cc:118] Failed to load system plugin: (Reason: Could not find shared library)
- Requested plugin name: [ignition::gazebo::systems::WaveVisual]
- Requested library name: [libWaveVisual.so]
- Library search paths:
  - /home/aut/.gz/sim/plugins/
  - /usr/lib/x86_64-linux-gnu/gz-sim-7/plugins/
  - /home/aut/.ignition/gazebo/plugins/
[Err] [SystemLoader.cc:118] Failed to load system plugin: (Reason: Could not find shared library)
- Requested plugin name: [ignition::gazebo::systems::Surface]
- Requested library name: [libSurface.so]
- Library search paths:
  - /home/aut/.gz/sim/plugins/
  - /usr/lib/x86_64-linux-gnu/gz-sim-7/plugins/
  - /home/aut/.ignition/gazebo/plugins/
[Err] [SystemLoader.cc:118] Failed to load system plugin: (Reason: Could not find shared library)
- Requested plugin name: [ignition::gazebo::systems::SimpleHydrodynamics]
- Requested library name: [libSimpleHydrodynamics.so]
- Library search paths:
  - /home/aut/.gz/sim/plugins/
  - /usr/lib/x86_64-linux-gnu/gz-sim-7/plugins/
  - /home/aut/.ignition/gazebo/plugins/
[Err] [SystemLoader.cc:118] Failed to load system plugin: (Reason: Could not find shared library)
- Requested plugin name: [mbzirc::BaseStation]
- Requested library name: [libBaseStation.so]
- Library search paths:
  - /home/aut/.gz/sim/plugins/
  - /usr/lib/x86_64-linux-gnu/gz-sim-7/plugins/
  - /home/aut/.ignition/gazebo/plugins/
[Err] [SystemLoader.cc:118] Failed to load system plugin: (Reason: Could not find shared library)
- Requested plugin name: [mbzirc::EntityDetector]
- Requested library name: [libEntityDetector.so]
- Library search paths:
  - /home/aut/.gz/sim/plugins/
  - /usr/lib/x86_64-linux-gnu/gz-sim-7/plugins/
  - /home/aut/.ignition/gazebo/plugins/
[Err] [SDFFeatures.cc:812] The geometry element of collision [collision] couldn't be created
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | small_blue_box_a_duplicate) The name [link:Box017] is a duplicate, so it has been renamed to [link:Box017(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | small_blue_box_a_duplicate) The name [link:Box016] is a duplicate, so it has been renamed to [link:Box016(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | small_blue_box_a_duplicate) The name [link:Box015] is a duplicate, so it has been renamed to [link:Box015(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | small_blue_box_a_duplicate) The name [link:Box014] is a duplicate, so it has been renamed to [link:Box014(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | small_blue_box_a_duplicate) The name [link:Box013] is a duplicate, so it has been renamed to [link:Box013(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | small_blue_box_a_duplicate) The name [link:Box012] is a duplicate, so it has been renamed to [link:Box012(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | small_blue_box_a_duplicate) The name [link:Box011] is a duplicate, so it has been renamed to [link:Box011(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | small_blue_box_a_duplicate) The name [link:Box010] is a duplicate, so it has been renamed to [link:Box010(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | small_blue_box_a_duplicate) The name [link:Box009] is a duplicate, so it has been renamed to [link:Box009(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | small_blue_box_a_duplicate) The name [link:Box008] is a duplicate, so it has been renamed to [link:Box008(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | small_blue_box_a_duplicate) The name [link:Box007] is a duplicate, so it has been renamed to [link:Box007(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | small_blue_box_a_duplicate) The name [link:Box006] is a duplicate, so it has been renamed to [link:Box006(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | small_blue_box_a_duplicate) The name [link:Box005] is a duplicate, so it has been renamed to [link:Box005(1)]
Msg [NameManager::issueNewName] (Skeleton::Joint | small_blue_box_a_duplicate) The name [fixed] is a duplicate, so it has been renamed to [fixed(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a) The name [link:Box006] is a duplicate, so it has been renamed to [link:Box006(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a) The name [link:Box005] is a duplicate, so it has been renamed to [link:Box005(1)]
Msg [NameManager::issueNewName] (Skeleton::Joint | large_dry_box_a) The name [fixed] is a duplicate, so it has been renamed to [fixed(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a) The name [link:Box006(1)] is a duplicate, so it has been renamed to [link:Box006(1)(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a) The name [link:Box005(1)] is a duplicate, so it has been renamed to [link:Box005(1)(1)]
Msg [NameManager::issueNewName] (Skeleton::Joint | large_dry_box_a) The name [fixed(1)] is a duplicate, so it has been renamed to [fixed(1)(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a_duplicate) The name [link:Cylinder002] is a duplicate, so it has been renamed to [link:Cylinder002(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a_duplicate) The name [link:Box069] is a duplicate, so it has been renamed to [link:Box069(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a_duplicate) The name [link:Box070] is a duplicate, so it has been renamed to [link:Box070(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a_duplicate) The name [link:Box071] is a duplicate, so it has been renamed to [link:Box071(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a_duplicate) The name [link:Box072] is a duplicate, so it has been renamed to [link:Box072(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a_duplicate) The name [link:Box005] is a duplicate, so it has been renamed to [link:Box005(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a_duplicate) The name [link:Box006] is a duplicate, so it has been renamed to [link:Box006(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a_duplicate) The name [link:Box073] is a duplicate, so it has been renamed to [link:Box073(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a_duplicate) The name [link:Box074] is a duplicate, so it has been renamed to [link:Box074(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a_duplicate) The name [link:Box075] is a duplicate, so it has been renamed to [link:Box075(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a_duplicate) The name [link:Box076] is a duplicate, so it has been renamed to [link:Box076(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a_duplicate) The name [link:Box077] is a duplicate, so it has been renamed to [link:Box077(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a_duplicate) The name [link:Box078] is a duplicate, so it has been renamed to [link:Box078(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a_duplicate) The name [link:Box079] is a duplicate, so it has been renamed to [link:Box079(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a_duplicate) The name [link:Box082] is a duplicate, so it has been renamed to [link:Box082(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a_duplicate) The name [link:Box080] is a duplicate, so it has been renamed to [link:Box080(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a_duplicate) The name [link:Box081] is a duplicate, so it has been renamed to [link:Box081(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a_duplicate) The name [link:Box083] is a duplicate, so it has been renamed to [link:Box083(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a_duplicate) The name [link:Box084] is a duplicate, so it has been renamed to [link:Box084(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a_duplicate) The name [link:Box085] is a duplicate, so it has been renamed to [link:Box085(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a_duplicate) The name [link:Box086] is a duplicate, so it has been renamed to [link:Box086(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a_duplicate) The name [link:Box087] is a duplicate, so it has been renamed to [link:Box087(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a_duplicate) The name [link:Box088] is a duplicate, so it has been renamed to [link:Box088(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a_duplicate) The name [link:Box089] is a duplicate, so it has been renamed to [link:Box089(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a_duplicate) The name [link:Box092] is a duplicate, so it has been renamed to [link:Box092(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a_duplicate) The name [link:Box090] is a duplicate, so it has been renamed to [link:Box090(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a_duplicate) The name [link:Box091] is a duplicate, so it has been renamed to [link:Box091(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a_duplicate) The name [link:Box093] is a duplicate, so it has been renamed to [link:Box093(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a_duplicate) The name [link:Box094] is a duplicate, so it has been renamed to [link:Box094(1)]
Msg [NameManager::issueNewName] (Skeleton::BodyNode | large_dry_box_a_duplicate) The name [suspension_front_left] is a duplicate, so it has been renamed to [suspension_front_left(1)]
Msg [NameManager::issueNewName] (Skeleton::Joint | large_dry_box_a_duplicate) The name [joint_suspension_front_left] is a duplicate, so it has been renamed to [joint_suspension_front_left(1)]
Msg [NameManager::issueNewName] (Skeleton::BodyNode | large_dry_box_a_duplicate) The name [caster_front_left] is a duplicate, so it has been renamed to [caster_front_left(1)]
Msg [NameManager::issueNewName] (Skeleton::Joint | large_dry_box_a_duplicate) The name [joint_caster_front_left] is a duplicate, so it has been renamed to [joint_caster_front_left(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a_duplicate) The name [caster_front_left:caster_front_left_col] is a duplicate, so it has been renamed to [caster_front_left:caster_front_left_col(1)]
Msg [NameManager::issueNewName] (Skeleton::BodyNode | large_dry_box_a_duplicate) The name [suspension_front_right] is a duplicate, so it has been renamed to [suspension_front_right(1)]
Msg [NameManager::issueNewName] (Skeleton::Joint | large_dry_box_a_duplicate) The name [joint_suspension_front_right] is a duplicate, so it has been renamed to [joint_suspension_front_right(1)]
Msg [NameManager::issueNewName] (Skeleton::BodyNode | large_dry_box_a_duplicate) The name [caster_front_right] is a duplicate, so it has been renamed to [caster_front_right(1)]
Msg [NameManager::issueNewName] (Skeleton::Joint | large_dry_box_a_duplicate) The name [joint_caster_front_right] is a duplicate, so it has been renamed to [joint_caster_front_right(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a_duplicate) The name [caster_front_right:caster_front_right_col] is a duplicate, so it has been renamed to [caster_front_right:caster_front_right_col(1)]
Msg [NameManager::issueNewName] (Skeleton::BodyNode | large_dry_box_a_duplicate) The name [suspension_back_left] is a duplicate, so it has been renamed to [suspension_back_left(1)]
Msg [NameManager::issueNewName] (Skeleton::Joint | large_dry_box_a_duplicate) The name [joint_suspension_back_left] is a duplicate, so it has been renamed to [joint_suspension_back_left(1)]
Msg [NameManager::issueNewName] (Skeleton::BodyNode | large_dry_box_a_duplicate) The name [caster_back_left] is a duplicate, so it has been renamed to [caster_back_left(1)]
Msg [NameManager::issueNewName] (Skeleton::Joint | large_dry_box_a_duplicate) The name [joint_caster_back_left] is a duplicate, so it has been renamed to [joint_caster_back_left(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a_duplicate) The name [caster_back_left:caster_back_left_col] is a duplicate, so it has been renamed to [caster_back_left:caster_back_left_col(1)]
Msg [NameManager::issueNewName] (Skeleton::BodyNode | large_dry_box_a_duplicate) The name [suspension_back_right] is a duplicate, so it has been renamed to [suspension_back_right(1)]
Msg [NameManager::issueNewName] (Skeleton::Joint | large_dry_box_a_duplicate) The name [joint_suspension_back_right] is a duplicate, so it has been renamed to [joint_suspension_back_right(1)]
Msg [NameManager::issueNewName] (Skeleton::BodyNode | large_dry_box_a_duplicate) The name [caster_back_right] is a duplicate, so it has been renamed to [caster_back_right(1)]
Msg [NameManager::issueNewName] (Skeleton::Joint | large_dry_box_a_duplicate) The name [joint_caster_back_right] is a duplicate, so it has been renamed to [joint_caster_back_right(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a_duplicate) The name [caster_back_right:caster_back_right_col] is a duplicate, so it has been renamed to [caster_back_right:caster_back_right_col(1)]
Msg [NameManager::issueNewName] (Skeleton::Joint | large_dry_box_a_duplicate) The name [fixed] is a duplicate, so it has been renamed to [fixed(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a_duplicate) The name [link:Box006(1)] is a duplicate, so it has been renamed to [link:Box006(1)(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a_duplicate) The name [link:Box005(1)] is a duplicate, so it has been renamed to [link:Box005(1)(1)]
Msg [NameManager::issueNewName] (Skeleton::Joint | large_dry_box_a_duplicate) The name [fixed(1)] is a duplicate, so it has been renamed to [fixed(1)(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a_duplicate) The name [link:Box006(1)(1)] is a duplicate, so it has been renamed to [link:Box006(1)(1)(1)]
Msg [NameManager::issueNewName] (Skeleton::N4dart8dynamics9ShapeNodeE | large_dry_box_a_duplicate) The name [link:Box005(1)(1)] is a duplicate, so it has been renamed to [link:Box005(1)(1)(1)]
Msg [NameManager::issueNewName] (Skeleton::Joint | large_dry_box_a_duplicate) The name [fixed(1)(1)] is a duplicate, so it has been renamed to [fixed(1)(1)(1)]
INFO  [lockstep_scheduler] setting initial absolute time to 8000 us
INFO  [commander] LED: open /dev/led0 failed (22)
INFO  [mavlink] mode: Normal, data rate: 4000000 B/s on udp port 18570 remote port 14550
INFO  [tone_alarm] home set
INFO  [mavlink] mode: Onboard, data rate: 4000000 B/s on udp port 14580 remote port 14540
INFO  [mavlink] mode: Onboard, data rate: 4000 B/s on udp port 14280 remote port 14030
INFO  [mavlink] mode: Gimbal, data rate: 400000 B/s on udp port 13030 remote port 13280
INFO  [logger] logger started (mode=all)
INFO  [logger] Start file log (type: full)
INFO  [logger] [logger] ./log/2023-05-14/10_41_03.ulg   
INFO  [logger] Opened full log file: ./log/2023-05-14/10_41_03.ulg
INFO  [mavlink] MAVLink only on localhost (set param MAV_{i}_BROADCAST = 1 to enable network)
INFO  [mavlink] MAVLink only on localhost (set param MAV_{i}_BROADCAST = 1 to enable network)
INFO  [px4] Startup script returned successfully
pxh> INFO  [tone_alarm] notify negative
Warning [Utils.cc:130] [/sdf/plugin[@name="ignition::gazebo::systems::WaveVisual"]:<data-string>:L1]: XML Element[plugin], child of element[sdf], not defined in SDF. Copying[plugin] as children of [sdf].
[GUI] [Err] [SystemLoader.cc:118] Failed to load system plugin: (Reason: Could not find shared library)
- Requested plugin name: [ignition::gazebo::systems::WaveVisual]
- Requested library name: [libWaveVisual.so]
- Library search paths:
  - /home/aut/.gz/sim/plugins/
  - /usr/lib/x86_64-linux-gnu/gz-sim-7/plugins/
  - /home/aut/.ignition/gazebo/plugins/
[GUI] [Err] [SystemLoader.cc:118] Failed to load system plugin: (Reason: Could not find shared library)
- Requested plugin name: [ignition::gazebo::systems::WaveVisual]
- Requested library name: [libWaveVisual.so]
- Library search paths:
  - /home/aut/.gz/sim/plugins/
  - /usr/lib/x86_64-linux-gnu/gz-sim-7/plugins/
  - /home/aut/.ignition/gazebo/plugins/
Warning [Utils.cc:130] [/sdf/plugin[@name="ignition::gazebo::systems::WaveVisual"]:<data-string>:L1]: XML Element[plugin], child of element[sdf], not defined in SDF. Copying[plugin] as children of [sdf].
INFO  [commander] Ready for takeoff!

Is there a way to export the model into gz-garden?

Jaeyoung-Lim commented 1 year ago

@fbenti You would need to modify the sdf file manually