报错内容:
UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 26-27: ordinal not in range(12
[joint_state_publisher-3] process has died [pid 16033, exit code 1, cmd /opt/ros/melodic/lib/joint_state_publisher/joint_state_publisher __name:=joint_state_publisher __log:=/home/khs/.ros/log/e91dad90-9568-11ed-9bd1-98fa9b625fe3/joint_state_publisher-3.log].
log file: /home/khs/.ros/log/e91dad90-9568-11ed-9bd1-98fa9b625fe3/joint_state_publisher-3*.log
原因
关于ROS的riviz使用中joint_state_publisher时,urdf不能出现中文注释,launch可以
解决:
[1]版本号改成自己的版本:我的是melodic
sudo apt-get install ros-melodic-joint-state-publisher-gui
[2]然后把urdf文件中的中文注释
我的报错的代码
launch文件
<launch>
<param name="robot_description" textfile="/home/khs/catkin_1/src/rviz_demo_pkg/urdf/urdf/demo3_joint.urdf"/>
<node pkg="rviz" type="rviz" name="rviz" args="-d /home/khs/catkin_1/src/rviz_demo_pkg/config/show_mycar.rviz"/>
<node pkg="joint_state_publisher" type="joint_state_publisher" name="joint_state_publisher" />
<node pkg="robot_state_publisher" type="robot_state_publisher" name="robot_state_publisher" />
</launch>
urdf文件
<robot name="my_car">
<!--底盘link-->
<link name="base_link">
<visual>
<geometry>
<box size="2 5 6"/>
</geometry>
<origin xyz="0 0 0" rpy="1.57 0 1.57"/>
<meterial>
<color rgba="0.2 0.6 0.2 " />
</meterial>
</visual>
</link>
<!--摄像头link-->
<link name="camera">
<visual>
<geometry>
<box size="0.02 0.05 0.05"/>
</geometry>
<origin xyz="0 0 0" rpy="0 0 0"/>
<meterial>
<color rgba="0 0 1 0.5"/>
</meterial>
</visual>
</link>
<!--关节-->
<joint name="camera_to_base" type="continuous">
<!--父级link-->
<parent link="base_link"/>
<!--子级link-->
<child link ="camera"/>
<!--设置偏移量-->
<origin xyz="0.7 2.5 0" rgba="0 0 0"/>
<!--设置关节旋转参考的坐标轴-->
<axis xyz="0 0 1"/>
</joint>
</robot>