本文介绍如何在树莓派3上安装ROS Kinect
虽然可以在树莓派官方镜像Raspbian上安装ROS,不过实际上所有代码都在树莓派上本地编译,耗时不说还有可能出现意想不到的错误,因此我们还是推荐大家先把树莓派换成Ubuntu的镜像再安装ROS。
你需要准备以下东西:
- 树莓派3
- 最少16G的SD卡,最好Class10
下面让我们一步步来~
1. 在树莓派上安装Ubuntu
最新Kinect版本的ROS只能在16.04上运行,因此我们首先要在树莓派上安装Ubuntu Mate 16.04。
到ubuntu mate 下载最新的镜像,注意一定要选16.04不要下载成16.10了。
https://ubuntu-mate.org/raspberry-pi/
下载完成后会得到一个如下的镜像文件
ubuntu-mate-16.04-desktop-armhf-raspberry-pi.img.xz
将它解压得到
ubuntu-mate-16.04-desktop-armhf-raspberry-pi.img
Windows的用户可以使用ImageWrite将镜像烧录到SD卡上,如果找不到工具可以在这里下载 https://sourceforge.net/projects/win32diskimager/
经过漫长的等待。。。。。
2. 首次启动Ubuntu Mate
将烧录好的SD卡插入树莓派3,接上电源,HDMI显示器和键盘鼠标
注意: 这里有同学可能跟我一样平时玩树莓派从来不接键盘鼠标和显示器,全部靠ssh远程操作。不过Ubuntu Mate在首次启动需要人工完成一下安装过程和配置,因此还是老老实实接上外设吧:)
安装过程基本就是一路Next,还有就是配置Ubuntu的用户名和密码。
进入系统后可以先将SD卡扩容到真实大小。具体操作是点击欢迎界面右下角的红色树莓派图标,里面有一个SD卡扩容选项。
也可以通过下面命令行手动重新分区sd卡。
sudo fdisk /dev/mmcblk0
在fdisk的提示框下按下d,2删除第二个分区,之后重新建立分区(n,p,回车,回车),最后按下w保存。重启系统,之后执行下面命令行
sudo resize2fs /dev/mmcblk0p2
注意:安装完系统后配置wifi连接并不能生效,这是一个bug重启系统后解决。
3. 安装ROS Kinect
接下来的步骤基本就是照着http://wiki.ros.org/kinetic/Installation/Ubuntu 走了
打开树莓派的终端,或者远程ssh连到树莓派。
首先加入ROS官方的源
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'<span id="mce_marker" data-mce-type="bookmark" data-mce-fragment="1"></span>
并且设置秘钥
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
Ok,现在更新Package的列表
sudo apt-get update
在树莓派上安装ROS包,这里我们只安装ROS内核。因为平时机器人在运动的时候基本上是在PC上远程查看信息的,因此不需要安装ROS的GUI相关工具。
sudo apt-get install ros-kinetic-ros-base
更新ROS相关依赖和环境
sudo rosdep init rosdep update
注意第二个命令有可能会超时,这是GFW经常卡gist.github造成丢包,多重试几次应该就能过了。
接着将ROS环境导入到bashrc,这样每次启动新的终端都有ros的命令和环境参数了。
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc source ~/.bashrc
最后安装常用的ROS命令行工具
sudo apt-get install python-rosinstall
到这里位置ROS基本安装完毕了,打开一个新的终端,并且输入:
roscore
看看ROS内核是不是跑起来了呢?
参考链接:
http://wiki.ros.org/kinetic/Installation/Ubuntu
http://wiki.ros.org/ROSberryPi/Installing%20ROS%20Kinetic%20on%20the%20Raspberry%20Pi
转载请注明出处:http://kittenbot.cn/install_ros_on_rpi3/
外设的usb接口无法识别,怎么解决呢
sd卡分区之后无法开机