【turtlebot】turtlebot运行报错解决方案

【问题描述】:

博主将turtlebot_node.py里的has_gyro值改为False,再用cp命令将之替换掉了/opt/ros/indigo/lib里的turtlebot_node.py,随后不久出现了以下问题

连上turtlebot运行下列语句

$ roslaunch turtlebot_bringup minimal.launch

卡在如下位置:

[ INFO] [1445311453.590191542]: Zeroconf: service successfully established [turtlebot][_ros-master._tcp][11311]
/opt/ros/indigo/lib/python2.7/dist-packages/bondpy/bondpy.py:114: SyntaxWarning: The publisher should be created with an explicit keyword argument 'queue_size'. Please see http://wiki.ros.org/rospy/Overview/Publishers%20and%20Subscribers for more information.
  self.pub = rospy.Publisher(self.topic, Status)
/opt/ros/indigo/lib/python2.7/dist-packages/bondpy/bondpy.py:114: SyntaxWarning: The publisher should be created with an explicit keyword argument 'queue_size'. Please see http://wiki.ros.org/rospy/Overview/Publishers%20and%20Subscribers for more information.
  self.pub = rospy.Publisher(self.topic, Status)

如下图:
【turtlebot】turtlebot运行报错解决方案_第1张图片

【解决方案】:

【补充】经过验证,如果没有source turtlebot的工作空间运行minimal.launch的时候就会出现卡在上图的情况,解决办法是在.bashrc末尾加入source语句:

$ gedit ~/.bashrc

然后在.bashrc末尾加入如下语句,注意顺序

$ source ~/turtlebot/devel/setup.bash

——2015.10.23

【订正】:以下重装ROS的方案不是解决前述报错的最佳方案,如遇以上错误请按照2015.10.23补充说明修改。以下内容仅为重装ROS及Turtlebot包的参考

由于目前ROS下还没有办法方便的将一个工作空间中的所有包同时卸载,除非逐个找出turtlebot工作空间中的包挨个卸载。多方询问未果之后只得重装ROS,这样turtlebot之类的包也将同时卸载。

(1)卸载ROS并重装ROS

因为我是用apt-get方式安装ROS的,卸载使用如下命令:

$ sudo apt-get remove ros-*

然后按照如下安装教程重新安装ROS:
http://wiki.ros.org/cn/indigo/Installation/Ubuntu

(2)重装turtlebot包

接着安装turtlebot所需要的三个工作空间(rocon、kobuki、turtlebot):
http://wiki.ros.org/turtlebot/Tutorials/indigo/Turtlebot%20Installation
安装完之后进行如下配置:
运行下面命令在~/.bashrc中加入环境变量

# For a source installation
echo "source ~/turtlebot/devel/setup.bash" >> ~/.bashrc

我的平台是irobot的create,深度摄像头采用的是Kinect,所以按照create base的方法配置环境变量(http://wiki.ros.org/turtlebot/Tutorials/indigo/Create%20Base)
在~/turtlebot/devel/setup.bash中添加如下环境变量:

# Export the turtlebot variables
export TURTLEBOT_BASE=create
export TURTLEBOT_STACKS=circles
export TURTLEBOT_3D_SENSOR=kinect
export TURTLEBOT_SERIAL_PORT=/dev/ttyUSB0

配置好环境变量之后再次运行

$ roslaunch turtlebot_bringup minimal.launch

各节点正常运行

【总结】

如果在输入roslaunch turt 然后按Tab键补全的时候出现如下警告:

siat@ThinkPad-siat:~$ roslaunch turt[rospack] Warning: error while crawling /home/siat: boost::filesystem::status: Permission denied: "/home/siat/.gvfs"
le

如下图:
【turtlebot】turtlebot运行报错解决方案_第2张图片
有一个Warning,后面出现了补全的结果“le”,虽然这个警告不影响补全的效果,但还是需要注意的

解决这个问题的办法就是注销计算机重新登录Ubuntu
然后重开一个终端再次运行minimal.launch

$ roslaunch turtlebot_bringup minimal.launch

此时补全功能不再警告Warning

PS:目前我常用的包只有turtlebot,所以我的.bashrc文件source语句比较少,它们的顺序是这样的(下面是.bashrc文件末尾的截图):
【turtlebot】turtlebot运行报错解决方案_第3张图片

你可能感兴趣的:(环境变量,重装,卸载,ROS,turtlebot)