Privilger / RoboMaster-Simulator

ICRA RoboMaster AI Challenge Simulator - Gazebo with OpenAI gym
https://privilger.github.io/RoboMaster-Simulator
GNU Lesser General Public License v3.0
150 stars 19 forks source link

[ERROR] [1636805101.138944786]: Failed to build tree: child link [front_camera] of joint [front_camera_bracket_joint] not found #11

Open dongmingli-Ben opened 3 years ago

dongmingli-Ben commented 3 years ago

Thanks for your great work! I ran the command roslaunch rm_simulator ridgeback_robots.launch following the instructions in README and ran into the above error with ROS version being Neotic. However, earlier I did almost the same thing on Melodic and no error occurs. As I am new to ROS and gazebo, could you please provide some help on how to resolve this issue?

Expected Outcome: No error, four robots appear on the map.

Ubuntu version: 20.04 ROS version: Noetic

Error trace:

... logging to /home/decision/.ros/log/eca6f67e-4479-11ec-9874-0f9a2375c8c2/roslaunch-jakeluo-labpc-105471.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

xacro: in-order processing became default in ROS Melodic. You can drop the option.
xacro: in-order processing became default in ROS Melodic. You can drop the option.
xacro: in-order processing became default in ROS Melodic. You can drop the option.
xacro: in-order processing became default in ROS Melodic. You can drop the option.
started roslaunch server http://jakeluo-labpc:37863/
......
etting /run_id to eca6f67e-4479-11ec-9874-0f9a2375c8c2
process[rosout-1]: started with pid [105501]
started core service [/rosout]
process[gazebo-2]: started with pid [105508]
process[gazebo_gui-3]: started with pid [105512]
process[map_server-4]: started with pid [105518]
process[jackal0/urdf_spawner-5]: started with pid [105519]
process[jackal0/robot_state_publisher-6]: started with pid [105520]
process[jackal0/controller_spawner-7]: started with pid [105521]
process[jackal0/ekf_localization-8]: started with pid [105522]
process[jackal0/cmd_vel_relay-9]: started with pid [105523]
process[jackal0/turret_controller-10]: started with pid [105525]
process[jackal0/global_planner_node-11]: started with pid [105539]
process[jackal0/local_planner_node-12]: started with pid [105543]
process[jackal0/behavior_test_node-13]: started with pid [105546]
[ERROR] [1636805100.934693031]: Failed to build tree: child link [front_camera] of joint [front_camera_bracket_joint] not found
......
process[jackal3/localization_node-44]: started with pid [105702]
process[simulate_refer_system-45]: started with pid [105705]
process[ridgeback_viz_jackal0-46]: started with pid [105709]
[ INFO] [1636805101.127980623]: !!!!!!!!!!!decision jackal_ns:jackal2
[ INFO] [1636805101.131774334]: !!!!!!!!!!!global jackal_ns:jackal0
[ INFO] [1636805101.131806940]: !!!!!!!!!!!jackal_number:0
[ERROR] [1636805101.138944786]: Failed to build tree: child link [front_camera] of joint [front_camera_bracket_joint] not found
......
[ INFO] [1636805101.148674883]: !!!!!!!!!!!decision jackal_ns:jackal3
[ INFO] [1636805101.158665933]: Load prototxt: /home/decision/decision/workspace/RoboMaster-Simulator/src/RoboRTS/roborts_planning/global_planner/config/global_planner_config.prototxt
[ INFO] [1636805101.182189451]: local planner start
[ERROR] [1636805101.199338900]: Failed to build tree: child link [front_camera] of joint [front_camera_bracket_joint] not found
[ INFO] [1636805101.232287005]: Load prototxt: /home/decision/decision/workspace/RoboMaster-Simulator/src/RoboRTS/roborts_planning/local_planner/config/local_planner.prototxt
[ INFO] [1636805101.250654186]: local planner start
[ INFO] [1636805101.254549442]: Load prototxt: /home/decision/decision/workspace/RoboMaster-Simulator/src/RoboRTS/roborts_planning/global_planner/config/global_planner_config.prototxt
[ERROR] [1636805101.259904003]: Failed to build tree: child link [front_camera] of joint [front_camera_bracket_joint] not found
......
[ INFO] [1636805101.421957796]: waitForService: Service [/static_map] has not been advertised, waiting...
[ INFO] [1636805101.430659859]: waitForService: Service [/static_map] has not been advertised, waiting...
[ INFO] [1636805101.432417707]: waitForService: Service [/static_map] has not been advertised, waiting...
[jackal0/robot_state_publisher-6] process has died [pid 105520, exit code 1, cmd /opt/ros/noetic/lib/robot_state_publisher/robot_state_publisher __name:=robot_state_publisher __log:=/home/decision/.ros/log/eca6f67e-4479-11ec-9874-0f9a2375c8c2/jackal0-robot_state_publisher-6.log].
log file: /home/decision/.ros/log/eca6f67e-4479-11ec-9874-0f9a2375c8c2/jackal0-robot_state_publisher-6*.log
[jackal1/robot_state_publisher-16] process has died [pid 105564, exit code 1, cmd /opt/ros/noetic/lib/robot_state_publisher/robot_state_publisher __name:=robot_state_publisher __log:=/home/decision/.ros/log/eca6f67e-4479-11ec-9874-0f9a2375c8c2/jackal1-robot_state_publisher-16.log].
log file: /home/decision/.ros/log/eca6f67e-4479-11ec-9874-0f9a2375c8c2/jackal1-robot_state_publisher-16*.log
[ INFO] [1636805101.483923939]: Finished loading Gazebo ROS API Plugin.
[ INFO] [1636805101.484642078]: waitForService: Service [/gazebo/set_physics_properties] has not been advertised, waiting...
[ INFO] [1636805101.565834622]: Finished loading Gazebo ROS API Plugin.
[ INFO] [1636805101.566584950]: waitForService: Service [/gazebo_gui/set_physics_properties] has not been advertised, waiting...
[jackal2/robot_state_publisher-26] process has died [pid 105616, exit code 1, cmd /opt/ros/noetic/lib/robot_state_publisher/robot_state_publisher __name:=robot_state_publisher __log:=/home/decision/.ros/log/eca6f67e-4479-11ec-9874-0f9a2375c8c2/jackal2-robot_state_publisher-26.log].
log file: /home/decision/.ros/log/eca6f67e-4479-11ec-9874-0f9a2375c8c2/jackal2-robot_state_publisher-26*.log
[jackal3/robot_state_publisher-36] process has died [pid 105652, exit code 1, cmd /opt/ros/noetic/lib/robot_state_publisher/robot_state_publisher __name:=robot_state_publisher __log:=/home/decision/.ros/log/eca6f67e-4479-11ec-9874-0f9a2375c8c2/jackal3-robot_state_publisher-36.log].
log file: /home/decision/.ros/log/eca6f67e-4479-11ec-9874-0f9a2375c8c2/jackal3-robot_state_publisher-36*.log
[ERROR] [1636805102.826106674]: Failed to build tree: child link [front_camera] of joint [front_camera_bracket_joint] not found
[ERROR] [1636805102.827634362]: Failed to build tree: child link [front_camera] of joint [front_camera_bracket_joint] not found
[ERROR] [1636805102.831515666]: Failed to build tree: child link [front_camera] of joint [front_camera_bracket_joint] not found
[ERROR] [1636805102.832738008]: Failed to build tree: child link [front_camera] of joint [front_camera_bracket_joint] not found
[ INFO] [1636805103.064505345]: waitForService: Service [/gazebo/set_physics_properties] is now available.
[ INFO] [1636805103.077927275, 5775.864000000]: Physics dynamic reconfigure ready.
Error [parser_urdf.cc:3183] Unable to call parseURDF on robot model
Error [parser.cc:488] parse as old deprecated model file failed.
Privilger commented 3 years ago

Hi, It is not tested in ROS Noetic version. You can go through the URDF files to fix this problem. I think there is something updated in ROS Noetic when parsing URDF files.

It is appreciated to fix this problem and create a pull requests.

dongmingli-Ben commented 3 years ago

Thanks for your feedback. After googling around, I find that it is because Noetic forbids the lack of namespace in xacro, as in this question. I successfully solve this problem after adding xacro: to every tag that lacks it.

However, another problem pops up, which shows the error message

E1114 14:51:45.012620 185069 localization_node.cpp:279] Couldn't transform from center_laserto /jackal3/base_link

I notice that this problem may lie in the roborts package. Could you please give some instructions on how to solve this problem?

dongmingli-Ben commented 3 years ago

Just a following up comment, it seems that the cause of the above problem is that the center_lazer or scan is somehow broken. Still, I have no clue on how to solve it.

Privilger commented 3 years ago

Hi, This may be related to the Lidar sensor. Maybe the link or joint's name is wrong due to the difference of parse xarco file in Noetic.

marcopra commented 1 year ago

Hi @dongmingli-Ben , do you have the code adapted to work with ROS Noetic? Can I contact you to share it?