学习ROS的时候的常见错误汇总

  • Post author:
  • Post category:其他




问题一:

下载sudo apt-get install ros-mlodic-arbotix

[sudo] password for hzh:

Reading package lists… Done

Building dependency tree

Reading state information… Done

E: Unable to locate package ros-mlodic-arbotix

解决方式:首先更新一下再下载

sudo apt-get update

或者直接下载文件我下载好的文件包放到你的工作空间中:下载连接



问题二:

这个一般是python3和python2版本的问题

很大原因是你的代码中有中文注释,

Python3 对 Unicode 字符的原生支持,Python2 中使用 ASCII 码作为默认编码方式


UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 8462-8464: ordinal not in range(128)

解决方法:如果运行的是某些库不建议改代码,

自己在代码块最上面加入声明编码方式

-*-coding:utf-8-*


(推荐)可以用软连接的方式:

sudo ln -s /usr/bin/python3 /usr/bin/python

通过软连接将两个版本链接到一起



问题三:

想使用键盘控制结点的时候发现没有这个包

[rospack] Error: package ‘teleop_twist_keyboard’ not found

一般重新下载就好:

sudo apt-get install ros-melodic-teleop-twist-keyboard


注意melodic是自己的ros版本,另外将

下划线放到中间


[rospack] Error: package ‘xxxx’ not found 一般这样的错误都是这样解决



问题四:

使用ArbotiX+RVIZ搭建仿真时出现以下错误提示,但在不使用ArbotiX的时候小车模型可以正常显示且没有错误。

[ WARN] [1628492281.212916428]: Joint state with name: “base_l_wheel_joint” was received but not found in URDF


原因

是在robot描述文件URDF中关节定义出错,找到launch文件使用的URDF描述文件,并将left_wheel_joint(自己关节描述名称)修改成base_l_wheel_joint,将right_wheel_joint(自己关节描述名称)修改为base_r_wheel_joint。


由于

arbotix中的名字定义和你定义的不同就会出现这种错误,改自己的文件,要不改arbotix中的py文件



版权声明:本文为qq_42573052原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。