一 、
在调试键盘控制一节,调教(bring up)教程提到树莓派上运行
roslaunch turtlebot3_bringup turtlebot3_robot.launch
出现错误:
ERROR: unable to contact ROS master at [http://192.168.42.129:11311]
The traceback for the exception was written to the log file
参照收藏文章https://blog.csdn.net/xiaodingqq/article/details/87690563
原来要将树莓派下~/.bashrc文件里的
$ export ROS_HOSTNAME=localhost
$ export ROS_MASTER_URI=http://localhost:11311
这两行代码的IP都改为树莓派的环回地址127.0.0.1(localhost) 。再source一下这个文件,问题解决!
**更新:**这样配置ip不行,应该把虚拟机设为桥接模式,Ubuntu设置静态IP,然后按官方教程配置网络。
二、
遇到问题:原因:缺少这个raspicam_node包。
解决方案:在树莓派系统上(重点!不是在自己系统上),根据这里面提示来就OK了,加源、添加秘钥、更新、最后sudo apt install ros-kinetic-raspicam-node
(注意:raspi上是ubuntu16加kinetic,所以不用改什么)。
三、
树莓派install或者update时出现原因:解决方案:
用以下命令查看apt-get相关进程
ps -e | grep apt
显示
1604 ? 00:00:11 apt-check
然后执行:
sudo kill 1604
问题解决。
参考文章:Ubuntu 解决E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)
四、
在(Turtlebot3官方教程)自动驾驶–相机校准–树莓派开启相机操作时,每次运行roslaunch turtlebot3_autorace_traffic_light_camera turtlebot3_autorace_camera_pi.launch
出现解决方法,每次要进入cd ~/catkin_ws/
运行一下source ./devel/setup.bash
。一劳永逸的方法有空想想。方法:在~/.bashrc里加一句source ~/catkin_ws/devel/setup.bash
。见第九点末尾图片中。
五、
开启相机后,电脑运行rqt_image_view
结果不能选择——
解决办法:解决的过程比较曲折,问题出在相机节点未正常启动(检查方法:先用rostopic list
查看有没有相机图像话题;然后用rostopic echo 对应话题
看有无数据)。总而言之,跟着官方教程https://emanual.robotis.com/docs/en/platform/turtlebot3/appendix_raspi_cam/走。不过考虑之前虚拟机的ip问题,把虚拟机的网络连接方式改成桥接方式,这样虚拟机和主机就在一个网段里了。后面有一些小bug,缺什么安装什么。
六、
树莓派上运行roslaunch turtlebot3_bringup turtlebot3_robot.launch
报错:原因是roslaunch前要先在主机上运行roscore
!
七、运行rosdep update
提示超时
八、
输入echo 'xxxx' > ~/.bashrc
结果把.bashrc内容全覆盖了,然后重新登录树莓派文字都是白的哈哈哈。
之后查到
恢复文件。https://blog.csdn.net/weixin_33966095/article/details/92005016
正确输入应该是echo "xxx" >> ~/.bashrc
九、
上面恢复备份之后,树莓派roslaunch都报错
原因是~/.bashrc里面少了一行:source /opt/ros/kinetic/setup.bash
备注:两个系统中的.bashrc文件末尾——
以上虚拟机Ubuntu20 + ros-noetic。
以上树莓派ubuntu16 + ros-kinetic。