Failed to build tree: child link [base_laser_mount] of joint [laser_mount_joint] not found
Hi, I'm trying to get the husky robot simulation up and running with https://github.com/husky/husky
I've installed all the necessary packages, but upon calling
roslaunch husky_gazebo husky_empty_world.launch
I am met with the following error
ERROR] [1591406797.536308608]: Failed to build tree: child link [base_laser_mount] of joint [laser_mount_joint] not found
I believe it's talking about this following bit of code, husky.urdf.sacro in husky_description
<xacro:if value="$(arg laser_enabled)">
<sick_lms1xx_mount prefix="base"/>
<sick_lms1xx frame="base_laser" topic="scan" robot_namespace="$(arg robot_namespace)"/>
<joint name="laser_mount_joint" type="fixed">
<origin xyz="$(arg laser_xyz)" rpy="$(arg laser_rpy)" />
<parent link="top_plate_link" />
<child link="base_laser_mount" />
</joint>
</xacro:if>
However, I'm not sure where base_laser_mount isn't defined, especially because I didn't tamper with the files from the github.
Hi @ildaniel,
Have you changed something in the repository, because I have cloned it, launched the simulation and there were no errors in the process. That is weird.
Actually, I have a proper
tf_tree
that connectstop_plate_link
-->base_laser_mount
-->base_laser
.Thanks for your response. Could this be because I'm runnning Ubuntu 20.04 LTS and ROS Noetic? I grabbed the melodic-devel branch from github. And just to be clear about what I'm doing I cloned the github contents into ~/husky_ws/src/
and then I run into missing resources such as
which I install, but then there's always another error it seems like. Could this be a fundamental problem with my ROS installation or how I'm calling things above?
Well, I do not know if there is an issue regarding the ROS distribution, but I think it should not be a problem of compatibility. But, what I did is cloning both repos, the one containing the husky_description and the one with the lms1xx_description, sourced the workspace and launched with
roslaunch husky_gazebo husky_empty_world.launch
. Then no error appears. As a way of "debugging" what is happening you could just run a virtual enviroment with a ROS Noetic/Melodic and try to reproduce your steps. By the way, how you installed the lms1xx package? from apt? lms1xx repository contains a Noetic branch, but the xacro file you are using:sick_lms1xx.urdf.xacro
is the same as the one Melodic uses, so it is compatible with the Melodic branch of husky description.So I tried following the steps on a different machine on 18.04.4 LTS and ROS Melodic and found no issues. Maybe I unknowingly completed the steps in a different way, but regardless this allowed me to get through it. Thank you for your help!
Great!, glad I helped you. Cheers
Hello @ildaniel ! I have the same problem. Were you able to solve the problem in Ros Noetic? Thanks!
I'm using ROS Melodic, but the following steps should work smoothly, let me know if they do:
After installing all necessary dependencies I've recovered from many issues
Thanks for your answer! I had no luck, same error appears despite I had followed your suggestion. I have looked into the .xacro files and everything seems to be ok, the base_laser_mount link is defined in the
sick_lms1xx.urdf.xacro
file which is located inlms1xx/urdf
. I have just commented the lines which defines the laser links and joints in thehusky.urdf.xacro
file and I have managed to load Husky in Gazebo without the laser. I think it has something to do with ROS Noetic because I have also been working with ROS Melodic and I didn't have any problems.