为了用ROS 控制移动小车,选择已经有很多人使用的树莓派3B,为了装这个系统真的废了很多时间,现在记录下我踏过的坑。
首先装的过程中,参考了很多CSDN的博客,并问了T宝客服,感觉客服也不能给我一个专业的意见。
https://blog.csdn.net/qq_33689134/article/details/81126352
https://blog.csdn.net/lc9zjx/article/details/90024753
http://www.52pi.net/archives/918
1.首先用到的工具有:SD Card Formatter ;Win32 Disk Imager;
2.其次用到的硬件有:树莓派3B;64GSD卡,读卡器;无线鼠标;有线键盘,一个显示器,一根网线(用于读取以太网的IP来匹配3.5寸屏)
3.用到的镜像:考察了很多,说真的网上资源太多(3B用的人少了,3B+ 和4B用的越来越多)。合适3B的镜像系统这一个用的最多(ubuntu-mate-16.04.2-desktop-armhf-raspberry-pi.img)
4.安装步骤
1)SD卡格式化(SD Card Formatter);
2) 写入镜像文件(Win32 Disk Imager);
3)连接网线,键盘,鼠标后开机,第一次初始化,开机时画面出现了一个内核错误,这个可以忽略,如果想处理的话,可以用这个命令:
systemctl status systemd-modules-load.service
sudo nano /etc/modules-load.d/cups-filters.conf/
注释掉最后出现的三个命令
4)开机后,先扩展SD卡的空间;(这部可以参考博客http://www.52pi.net/archives/918)
sudo fdisk /dev/mmcblk0
在fdisk的提示框下按下d,2删除第二个分区,之后重新建立分区(n,p,回车,回车),最后按下w保存。重启系统,之后执行下面命令行:
sudo resize2fs /dev/mmcblk0p2
5)然后更新软件源来安装ROS (此处参考https://blog.csdn.net/Fourier_Legend/article/details/82460146)
先备份,再用ESC ,dd 删除源代码
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo vi /etc/apt/sources.list
粘贴复制下列代码
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main restricted universe multiverse
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
更新
sudo apt-get update
中间又出现了问题:
GPP error : http:// packages........NO_PUBKEY F42ED6FBAB17C654
查找后,输入
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654
然后就好了,再输入一次
sudo apt-get update
为了做机器人,选择装Ros全包
sudo apt-get install ros-kinetic-desktop-full
装好以后就是ROS初始化
sudo rosdep init
rosdep update
此处出现问题,ERROR 111,ERROR104
sudo vi /etc/resolv.conf
输入代码,然后用#符号注释掉原来的,再输入下列代码
nameserver 8.8.8.8
nameserver 8.8.4.4
再输入一次 rosdep update,然后就过了
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
最后安装ROS命令行的工具
sudo apt-get install python-rosinstall
打开
roscore
测试下是不是能运行了?
出现了started core service [/rosout] 这就证明成功启动了。