一、粗心大意的格式细节
1.光标处为逗号而非点
2.world后面漏了空格
3.创建功能包的时候多打了__,打了两个,而配置文件又只打了一个_
4.最后一个参数没有逗号
5.漏了后缀.launch
6.偏移量后面.打成,
7.只有一个:而不是::
8.中括号!
9.value写成valud
10.注意拼写inertia和inertial
<inertial>
<origin xyz="0 0 0" />
<mass value="2" />
<inertia ixx="1" ixy="0" ixz="0" iyy="0" iyz="1" izz="1" />
</inertial>
</link>
<gazebo reference="base_link">
<material>Gazebo/Red</material>
</gazebo>
11.arg name是固定的,不能自己起
<arg name="world_name" value="$(find urdf02_gazebo)/worlds/boxhouse.world" />中box_house应该有下划线
二、步骤缺漏而报错
1.没运行roscore,老师没有在桌面开终端,直接bash里面roscore的,而不是没有这一步
一般rosrun之前应该roscore
三、没理解内容导致的错误
1.第三行写错了,把macro写成了property
报错内容
RLException: Invalid <param> tag: Cannot load command parameter [robot_description]: command [['/opt/ros/noetic/lib/xacro/xacro', '/home/coal/demo055_ws/src/urdf01_rviz/urdf/xacro/demo05_car_base.urdf.xacro']] returned with code [2].
Param xml is <param name="robot_description" command="$(find xacro)/xacro $(find urdf01_rviz)/urdf/xacro/demo05_car_base.urdf.xacro"/>
The traceback for the exception was written to the log file
2.删掉了多余的空行和注释,catkin_make再resource就好了
报错内容
No such file or directory: /home/coal/demo055_ws/src/urdf01_rviz/urdf/xacro/demo07_camera.urdf.xacro [Errno 2] No such file or directory: '/home/coal/demo055_ws/src/urdf01_rviz/urdf/xacro/demo07_camera.urdf.xacro'
when processing file: /home/coal/demo055_ws/src/urdf01_rviz/urdf/xacro/car.urdf.xacro
RLException: Invalid <param> tag: Cannot load command parameter [robot_description]: command [['/opt/ros/noetic/lib/xacro/xacro', '/home/coal/demo055_ws/src/urdf01_rviz/urdf/xacro/car.urdf.xacro']] returned with code [2].
Param xml is <param name="robot_description" command="$(find xacro)/xacro $(find urdf01_rviz)/urdf/xacro/car.urdf.xacro"/>
The traceback for the exception was written to the log file
3.下载arbotix安装包用第二种方法,打开压缩包提取至工作空间,直接复制压缩包不可行
4.rviz下面找不到odom
尝试一:
python下driver文件第一行改3为2.7没有用
终端先sudo apt update,sudo apt upgrade,再sudo apt install python3-pip,最后sudo pip3 install pyserial
终端显示:Requirement already satisfied: pyserial in /usr/lib/python3/dist-packages (3.4)
没有用
解决方法:根据python2和python3版本冲突的解决方案http://t.csdn.cn/Ism2E,又把driver 改回了3然后成功找到odom!
注意事项:直接用3.8而不是自己查出来的3.8.10
纠错过程中还发现了另一个错误
<launch>的子标签:<node>
<node>的子标签:<rosparam />
<param />
</node> ※缺少结束符
</launch>
前面只有一行的node命令结尾已有结束符/,但最后一个node命令有字标签,故一定要有单独一行的结束符 </node> 如下图所示,且第一行的node语句最后没有/
报错内容
RLException: Invalid roslaunch XML syntax: mismatched tag: line 13, column 2
The traceback for the exception was written to the log file