解决ubuntu20.04运行ROS-Academy-for-Beginners教学包没有模型的问题
问题
如图,运行robot_spawn.launch时只能看见一个地板
解决方法
melodic分支有模型,我们在ROS工作空间的src文件夹下git clone melodic分支
lty@ubuntu:~/catkin_ws/src$ git clone https://github.com/DroidAITech/ROS-Academy-for-Beginners-melodic
重新catkin_make一次,再运行可以看到模型
相关问题
问题1:boost_signalsConfig.cmake
CMake Error at /usr/lib/cmake/Boost-1.75.0/BoostConfig.cmake:141 (find_package):
Could not find a package configuration file provided by “boost_signals”
(requested version 1.75.0) with any of the following names:
boost_signalsConfig.cmake
boost_signals-config.cmake
我们将catkin_ws/src/ROS-Academy-for-Beginners-melodic/dependlib里的三个库换掉
lty@ubuntu:~/catkin_ws/src$ cd ROS-Academy-for-Beginners-melodic/dependlib/
lty@ubuntu:~/catkin_ws/src/ROS-Academy-for-Beginners-melodic/dependlib$ rm -rf *
#换成这三个
git clone https://github.com/tu-darmstadt-ros-pkg/hector_slam.git
git clone https://github.com/ros-perception/openslam_gmapping
git clone https://github.com/ros-perception/slam_gmapping.git
问题2:xacro name ‘m’ is not defined when evaluating expression ‘m*(3rr+h*h)/12’
我们将 catkin_ws/src/ROS-Academy-for-Beginners-melodic/tf_follower/mybot_description/urdf/macros.xacro文件改一下
改成这样:
<?xml version="1.0"?>
<robot name="mybot" xmlns:xacro="http://www.ros.org/wiki/xacro">
<xacro:macro name="cylinder_inertia" params="m r h">
<inertial>
<mass value="${m}" />
<inertia ixx="${m*(3*r*r+h*h)/12}" ixy = "0" ixz = "0"
iyy="${m*(3*r*r+h*h)/12}" iyz = "0"
izz="${m*r*r/2}"/>
</inertial>
</xacro:macro>
<xacro:macro name="box_inertia" params="m x y z">
<inertial>
<mass value="${m}" />
<inertia ixx="${m*(y*y+z*z)/12}" ixy = "0" ixz = "0"
iyy="${m*(x*x+z*z)/12}" iyz = "0"
izz="${m*(x*x+z*z)/12}"
/>
</inertial>
</xacro:macro>
<xacro:macro name="sphere_inertia" params="m r">
<inertial>
<mass value="${m}" />
<inertia ixx="${2*m*r*r/5}" ixy = "0" ixz = "0"
iyy="${2*m*r*r/5}" iyz = "0"
izz="${2*m*r*r/5}"
/>
</inertial>
</xacro:macro>
</robot>
问题3:$(find xacro)/xacro.py
将所有xml文件里的 $(find xacro)/xacro,改成
$(find xacro)/xacro
问题4:机器人无法移动
https://answers.ros.org/question/377082/difficulty-with-the-openai_ros-turtlebot2-tutorial-when-using-noetic/
noetic下没有yocs_cmd_vel_mux,我们git clone https://github.com/yujinrobot/yujin_ocs.git
把里面的文件夹yocs_cmd_vel_mux粘到工作空间中src/ROS-Academy-for-Beginners-melodic/dependlib下(只要在src里面就可以),重新catkin_make一遍就可以了