Could not find the `robot` element in the xml file
Ryanf55 opened this issue · 3 comments
Ryanf55 commented
Desired behavior
Iris runway launches without errors, and model can fly. This is after building the ardupilot_gz_bringup with packages-up-to
colcon flag.
Actual behavior
robot_state_publisher
crashes because the XML is invalid.
Version
main on 030d85f5a65a169cb5912359480bdc942e6332b0
Logs
$ ros2 launch ardupilot_gz_bringup iris_runway.launch.py rviz:=true use_gz_tf:=true
[INFO] [launch]: All log files can be found below /home/rfriedman/.ros/log/2023-11-06-16-20-22-945779-dev-rfriedman01-1384385
[INFO] [launch]: Default logging verbosity is set to INFO
namespace:
transport: udp4
middleware: dds
verbose: 4
discovery: 7400
port: 2019
refs: /home/rfriedman/Dev/ardu_ws/install/ardupilot_sitl/share/ardupilot_sitl/config/dds_xrce_profile.xml
command: arducopter
model: json
speedup: 1
slave: 0
sim_address: 127.0.0.1
instance: 0
defaults: /home/rfriedman/Dev/ardu_ws/install/ardupilot_gazebo/share/ardupilot_gazebo/config/gazebo-iris-gimbal.parm,/home/rfriedman/Dev/ardu_ws/install/ardupilot_sitl/share/ardupilot_sitl/config/default_params/dds_udp.parm
synthetic_clock: True
command: mavproxy.py
master: tcp:127.0.0.1:5760
sitl: 127.0.0.1:5501
[INFO] [ruby $(which gz) sim-1]: process started with pid [1384386]
[INFO] [ruby $(which gz) sim-2]: process started with pid [1384389]
[INFO] [micro_ros_agent-3]: process started with pid [1384392]
[INFO] [dds_udp.parm --synthetic-clock -4]: process started with pid [1384395]
[INFO] [mavproxy.py --out 127.0.0.1:14550 --out 127.0.0.1:14551 --master tcp:127.0.0.1:5760 --sitl 127.0.0.1:5501 --non-interactive -5]: process started with pid [1384398]
[INFO] [robot_state_publisher-6]: process started with pid [1384401]
[INFO] [parameter_bridge-7]: process started with pid [1384404]
[INFO] [rviz2-8]: process started with pid [1384406]
[dds_udp.parm --synthetic-clock -4] Setting SIM_SPEEDUP=1.000000
[dds_udp.parm --synthetic-clock -4] Starting SITL: JSON
[dds_udp.parm --synthetic-clock -4] JSON control interface set to 127.0.0.1:9002
[dds_udp.parm --synthetic-clock -4] Starting sketch 'ArduCopter'
[dds_udp.parm --synthetic-clock -4] Starting SITL input
[dds_udp.parm --synthetic-clock -4] Using Irlock at port : 9005
[dds_udp.parm --synthetic-clock -4] Waiting for connection ....
[dds_udp.parm --synthetic-clock -4] bind port 5760 for 0
[dds_udp.parm --synthetic-clock -4] Serial port 0 on TCP port 5760
[micro_ros_agent-3] [1699312823.056414] info | UDPv4AgentLinux.cpp | init | running... | port: 2019
[micro_ros_agent-3] [1699312823.056836] info | Root.cpp | set_verbose_level | logger setup | verbose_level: 4
[robot_state_publisher-6] Error: Could not find the 'robot' element in the xml file
[robot_state_publisher-6] at line 109 in ./urdf_parser/src/model.cpp
[robot_state_publisher-6] Failed to parse robot description using: urdf_xml_parser/URDFXMLParser
[robot_state_publisher-6] terminate called after throwing an instance of 'std::runtime_error'
[robot_state_publisher-6] what(): Unable to initialize urdf::model from robot description
Ryanf55 commented
Ryanf55 commented
More info, tracing down sdformat_urdf, which is in the src
workspace, not built, and not obviously depended on in the repo that I can find.
/home/rfriedman/Dev/ardu_ws/install/ardupilot_gz_gazebo/share/ardupilot_gz_gazebo/worlds:/home/rfriedman/Dev/ardu_ws/install/ardupilot_gz_description/share/ardupilot_gz_description/models:/home/rfriedman/Dev/ardu_ws/install/ardupilot_gz_description/share:/home/rfriedman/Dev/ardu_ws/install/ardupilot_gazebo/share/ardupilot_gazebo/worlds:/home/rfriedman/Dev/ardu_ws/install/ardupilot_gazebo/share/ardupilot_gazebo/models:/home/rfriedman/Dev/ardu_ws/install/ardupilot_gazebo/share