1、问题如下
File "/opt/ros/melodic/lib/joint_state_publisher/joint_state_publisher", line 44, in <module>
jsp = joint_state_publisher.JointStatePublisher()
File "/opt/ros/melodic/lib/python2.7/dist-packages/joint_state_publisher/__init__.py", line 159, in __init__
robot = xml.dom.minidom.parseString(description)
File "/usr/lib/python2.7/xml/dom/minidom.py", line 1928, in parseString
return expatbuilder.parseString(string)
File "/usr/lib/python2.7/xml/dom/expatbuilder.py", line 940, in parseString
return builder.parseString(string)
File "/usr/lib/python2.7/xml/dom/expatbuilder.py", line 223, in parseString
parser.Parse(string, True)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 53-57: ordinal not in range(128)
[joint_state_publisher-1] process has died [pid 9340, exit code 1, cmd /opt/ros/melodic/lib/joint_state_publisher/joint_state_publisher __name:=joint_state_publisher __log:=/home/yzh/.ros/log/5314feca-c547-11ed-b4c2-000c2907fba7/joint_state_publisher-1.log].
log file: /home/yzh/.ros/log/5314feca-c547-11ed-b4c2-000c2907fba7/joint_state_publisher-1*.log
2、解决方法
找到/opt/ros/melodic/lib/joint_state_publisher/joint_state_publisher里的文件加入
reload(sys)
sys.setdefaultencoding( "utf-8" )这两行代码即可解决字符集的问题。
3、再次启动launch文件报错
[ERROR] [1679116195.501826]: Could not find the GUI, install the 'joint_state_publisher_gui' package
执行以下代码解决(缺什么包安装什么包即可注意是-而不是下划线)
sudo apt install ros-melodic-joint-state-publisher-gui
在运行ROSMelodic的joint_state_publisher时遇到Unicode编码错误,通过在源代码中添加两行代码来设置UTF-8编码解决了问题。然而,启动launch文件后又出现找不到GUI的错误,提示需安装joint_state_publisher_gui包,使用sudoaptinstall命令安装了缺失的包。
3065

被折叠的 条评论
为什么被折叠?



