【turtlebot】turtlebot运行报错解决方案
来源:互联网 发布:java sftp 断点续传 编辑:程序博客网 时间:2024/05/05 11:34
一、
【问题描述】:
博主将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 installationecho "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 variablesexport TURTLEBOT_BASE=createexport TURTLEBOT_STACKS=circlesexport TURTLEBOT_3D_SENSOR=kinectexport 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 DashboardImportError: No module named rqt_robot_dashboard.dashboardPluginManager._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 eImportError: 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
- 【turtlebot】turtlebot运行报错解决方案
- turtlebot
- 用手柄控制turtlebot运行
- turtlebot运行follower包实现人员跟随
- TurtleBot配置
- 安装turtlebot
- turtlebot刷机
- TURTLEBOT安装
- turtlebot技术参数
- TurtleBot debug definitions reading
- TurtleBot 调试小结
- ubuntu安装ROS/turtlebot
- ROS中的turtlebot包
- ROS turtlebot初学者总结
- ROS turtlebot mapping
- TurtleBot机器人入门篇
- turtlebot入门仿真
- cartographer初试-turtlebot
- TS科普 2 包头
- 优秀程序员的 18 大法则
- Xcode中mark标注使用方法
- 判断是否为数组和方法
- GT and sequence(bc模拟题)
- 【turtlebot】turtlebot运行报错解决方案
- UI02_UIButton
- 内存映射文件 进程间通讯
- ZOJ.1439 Area Ratio【三角形外接圆内切圆】 2015/10/20
- 让代码帮助我们研发--代码半自动化
- TableViewCell重用机制避免重复显示问题
- Minimum Depth of Binary Tree
- Maximum Depth of Binary Tree
- 图形的几何变换(平移,比例,定点比例)