gazebo 报错,模型不显示

PX4 SIM HOST: localhost INFO [simulator] Waiting for simulator to accept connection on TCP port 4560 [INFO] [1731465732.662210]: Loading model XML from ros parameter sdf_p450_0 Traceback (most recent call last): File "/opt/ros/melodic/lib/gazebo_ros/spawn_model", line 239, in <module> exit_code = sm.run() File "/opt/ros/melodic/lib/gazebo_ros/spawn_model", line 149, in run xml_parsed = xml.etree.ElementTree.fromstring(model_xml) File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1311, in XML parser.feed(text) File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1657, in feed self._parser.Parse(data, 0) UnicodeEncodeError: 'ascii' codec can't encode characters in position 16486-16488: ordinal not in range(128) [uav1/p450_1_spawn-4] process has died [pid 9371, exit code 1, cmd /opt/ros/melodic/lib/gazebo_ros/spawn_model -sdf -param sdf_p450_0 -model p450_0 -x 0.0 -y 0.0 -z 0.15 -Y 0.0 __name:=p450_1_spawn __log:=/home/xt/.ros/log/de90c4ee-a168-11ef-a223-e4fd453d86af/uav1-p450_1_spawn-4.log]. log file: /home/xt/.ros/log/de90c4ee-a168-11ef-a223-e4fd453d86af/uav1-p450_1_spawn-4*.log

打开 spawn_model 脚本: 编辑 /opt/ros/melodic/lib/gazebo_ros/spawn_model 文件:

sudo nano /opt/ros/melodic/lib/gazebo_ros/spawn_model

找到解析 XML 的部分: 找到以下行,通常在第 149 行左右

xml_parsed = xml.etree.ElementTree.fromstring(model_xml)

修改为带编码的解析方式: 将上述代码替换为:

xml_parsed = xml.etree.ElementTree.fromstring(model_xml.encode('utf-8'))

保存修改,然后退出编辑器。再重新运行你的程序,看看错误是否已解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值