ROS配置问题记录
本文实验平台为Turtlebot3-waffle_pi
(1)电脑PC中安装了一个Ubuntu16.04 64位的虚拟机;
(2)树莓派3B,安装的是Ubuntu mate16.04 for raspeberry,是armhf架构的,在官网上16.04版本,专为树莓派的系统只找到armhf架构的。
**【注】**配置好前期环境后(环境+主从机IP)配置环境教程地址,配置过程也遇到些问题,主要原因是由于“地方网络”的原因,需要换源(可能换的源不合适,就方法是重新换其他的,后续有机会介绍下环境配置问题),当然最好的解决方案是通过梯子,规避“地方网络”原因,会解决掉很多不必要的麻烦。
问题1
在执行roscore
时出现以下错误信息:
Traceback (most recent call last):
File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/__init__.py", line 257, in main
write_pid_file(options.pid_fn, options.core, options.port)
File "/opt/ros/indigo/lib/python2.7/dist-packages/roslaunch/__init__.py", line 110, in write_pid_file
with open(pid_fn, "w") as f:
IOError: [Errno 13] Permission denied: '/home/hht/.ros/roscore-11311.pid'
问题1解决方法
网上有很多方法,我试的一种方法是来自博客园(源-解决方案出处),分析错误信息中有Permission denied
,一般为权限问题,设置sudo chmod 777 -R ~/.ros/
,表示对.ros
文件下的所有文件及子目录中文件(递归)赋予 可读、可写、可执行
权限。然后再 执行 roscore
问题2
执行 roscore
后,可能出现以下错误
... logging to /home/rasp/.ros/log/5169ab92-f97c-11ee-bf9e-000c29861846/roslaunch-rasp-virtual-machine-2643.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
Unable to contact my own server at [http://192.168.0.179:46235/].
This usually means that the network is not configured properly.
A common cause is that the machine cannot connect to itself. Please check
for errors by running:
ping 192.168.0.179
For more tips, please see
http://www.ros.org/wiki/ROS/NetworkSetup
The traceback for the exception was written to the log file
问题2解决方法
(1)检查主机和从机之间是否能够互相 ping
通,主从机IP地址用ifconfig
查询。
(2)检查是否在主机和从机中的家目录下.bashrc
文件末尾添加了下面语句:
主机(PC端)
export ROS_MASTER_URI=http://主机IP地址:11311
export ROS_HOSTNAME=主机IP地址
【一定要注意】:
主机端的添加语句中的IP地址都是主机自身IP地址
主机端的添加语句中的IP地址都是主机自身IP地址
主机端的添加语句中的IP地址都是主机自身IP地址
(。。。重要的事说三遍)
从机(树莓派端)
export ROS_MASTER_URI=http://主机IP地址:11311
export ROS_HOSTNAME=从机IP地址
(3)添加好后。分别在主机和从机上执行 source ~/.bashrc,启动ros相配配置文件(每次开机都需重复启动)。
(4)此时,再执行 roscore
,主机通信环境就配置好了,主机界面如下所示
从机执行rostopic list
,查看是否订阅到主机发布的话题,若出现如下两条语句
/rosout
/rosout_agg
到这就表示主-从机通信环境配好。
本文所采用方法可能不能解决所有表面看上去与本文问题相同的问题(因为造成相同问题的原因有很多,解决方法并不一致)。
若本文对您有用,欢迎评论区留言,以供往后相同问题的 读者 看到 留言后(产生希望),再按此文操作。若无用 或 为您提供思路 ,也请在评论区讨论,共同学习,以供往后读者 作参考。