【turtlebot】turtlebot运行报错解决方案
2015-10-23 13:13
316 查看
一、
【问题描述】:
博主将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)
如下图:
【解决方案】:
【补充】经过验证,如果没有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
如下图:
有一个Warning,后面出现了补全的结果“le”,虽然这个警告不影响补全的效果,但还是需要注意的
解决这个问题的办法就是注销计算机重新登录Ubuntu
然后重开一个终端再次运行minimal.launch
$ roslaunch turtlebot_bringup minimal.launch
此时补全功能不再警告Warning
或者运行如下命令:
$ umount ~/.gvfs $ rm -rf .gvfs/
PS:目前我常用的包只有turtlebot,所以我的.bashrc文件source语句比较少,它们的顺序是这样的(下面是.bashrc文件末尾的截图):
二、
【问题描述】
运行$ roslaunch turtlebot_dashboard turtlebot_dashboard.launch遇到如下报错
RosPluginProvider.load(kobuki_dashboard/KobukiDashboard) exception raised in __builtin__.__import__(kobuki_dashboard.dashboard, [KobukiDashboard]): Traceback (most recent call last): File "/opt/ros/indigo/lib/python2.7/dist-packages/rqt_gui/ros_plugin_provider.py", line 77, in load module = __builtin__.__import__(attributes['module_name'], fromlist=[attributes['class_from_class_type']], level=0) File "/home/siat/kobuki/src/kobuki_desktop/kobuki_dashboard/src/kobuki_dashboard/dashboard.py", line 6, in <module> from rqt_robot_dashboard.dashboard import Dashboard ImportError: No module named rqt_robot_dashboard.dashboard PluginManager._load_plugin() could not load plugin "kobuki_dashboard/KobukiDashboard": Traceback (most recent call last): File "/opt/ros/indigo/lib/python2.7/dist-packages/qt_gui/plugin_handler.py", line 99, in load self._load() File "/opt/ros/indigo/lib/python2.7/dist-packages/qt_gui/plugin_handler_direct.py", line 54, in _load self._plugin = self._plugin_provider.load(self._instance_id.plugin_id, self._context) File "/opt/ros/indigo/lib/python2.7/dist-packages/qt_gui/composite_plugin_provider.py", line 71, in load instance = plugin_provider.load(plugin_id, plugin_context) File "/opt/ros/indigo/lib/python2.7/dist-packages/qt_gui/composite_plugin_provider.py", line 71, in load instance = plugin_provider.load(plugin_id, plugin_context) File "/opt/ros/indigo/lib/python2.7/dist-packages/rqt_gui_py/ros_py_plugin_provider.py", line 60, in load return super(RosPyPluginProvider, self).load(plugin_id, plugin_context) File "/opt/ros/indigo/lib/python2.7/dist-packages/qt_gui/composite_plugin_provider.py", line 71, in load instance = plugin_provider.load(plugin_id, plugin_context) File "/opt/ros/indigo/lib/python2.7/dist-packages/rqt_gui/ros_plugin_provider.py", line 83, in load raise e ImportError: No module named rqt_robot_dashboard.dashboard [rqt_gui-2] process has died [pid 3435, exit code 1, cmd /opt/ros/indigo/lib/rqt_gui/rqt_gui -s kobuki_dashboard __name:=rqt_gui __log:=/home/siat/.ros/log/d3c65470-3394-11e6-a44c-28d244c5bb27/rqt_gui-2.log]. log file: /home/siat/.ros/log/d3c65470-3394-11e6-a44c-28d244c5bb27/rqt_gui-2*.log
【解决方案】
原因是安装ROS的时候未安装ros-indigo-rqt-robot-dashboard包,运行下面命令安装即可
$ sudo apt-get install ros-indigo-rqt-robot-dashboard
相关文章推荐
- 菜鸟说给菜鸟听之Beginning Linux Programming——Chapter1(1)
- linux下设定环境变量
- 收集的ROS防火墙脚本
- Windows Powershell 环境变量
- 使用bat批处理来安装和卸载ASP组件
- mysql重装后出现乱码设置为utf8可解决
- MySQL 相关的环境变量
- Linux rpm tar 操作系统下软件的安装与卸载方法
- Android 监听apk安装替换卸载广播的实现代码
- Linux Shell脚本系列教程(三):变量和环境变量
- SUSE Linux下通过RPM方式卸载MySQL 5过程笔记
- N点主机管理系统的重装步骤(图文)
- 在Linux操作系统中修改环境变量的方法
- Perl操作系统环境变量的脚本代码
- 绿色版mysql注册卸载服务方法
- PowerShell获取系统环境变量的方法
- android实现静默安装与卸载的方法
- 在Android 模拟器上安装和卸载APK包的方法
- Ubuntu下android adb环境变量配置方法
- Linux Shell脚本系列教程(四):使用函数添加环境变量