树莓派3b安装ros-kinetic版

1. 先给树莓派3B 安装Ubuntu Mate 16.04系统(使用ROS的kinetic版本)

链接:https://pan.baidu.com/s/1ANMwCj88p79pclhD6fQoTA
提取码:7mnn

2. 烧录系统

2.1 格式化sd卡

用官方推荐的SD Card Formatter 下载地址:https://www.sdcard.org/downloads/formatter/eula_windows/SDCardFormatterv5_WinEN.zip
虽然软件一般可以自动识别sd卡,但也要注意不要格式化其他内存了
树莓派3b安装ros-kinetic版_第1张图片

2.2 烧录镜像到sd卡

我用的是balenaetcher
外网不行的用这个
链接:https://pan.baidu.com/s/1d7ReWzv0VrZnWuWueEZvRA
提取码:uma3
树莓派3b安装ros-kinetic版_第2张图片
树莓派3b安装ros-kinetic版_第3张图片
把sd卡插到树莓派上,简单的配置,ok!

3.安装ros

3.1 设置你的来源列表:

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

同时官方提供了其他的源:中国的源可能会快一些

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

注意:如果您遇到与keyserver连接的问题,可以尝试在前面的命令中替换hkp://pgp.mit.edu:80或hkp:/ keyserver.ubuntu.com:80

更新软件源

sudo apt-get update

3.2 根据具体需要安装ros

官方提供了3种工具包:

桌面完整版:ROS, rqt, rviz, robot-generic libraries, 2D/3D simulators, navigation and 2D/3D perception

sudo apt-get install ros-kinetic-desktop-full

桌面版:ROS, rqt, rviz, and robot-generic libraries

sudo apt-get install ros-kinetic-desktop

ROS基础包:ROS package, 编译库,通讯库.

sudo apt-get install ros-kinetic-ros-base

3.3 帮助你处理一些ROS运行时的系统依赖项

sudo rosdep init
rosdep update

3.4 环境设置

"~/.bashrc"用于添加源代码

官方wiki上写的是按bash装的,ubuntu默认shell是bash shell,如果你的是zsh,要注意

echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

之后建立工作空间之后,还可以把工作空间里面devel/setup.bash加进.bashrc里面,方便使用

3.4 安装依赖关系构建包

sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential

3.5 测试

roscore
如果roscore没问题,则完成安装!

4. 安装过程可能遇到的问题:

4.1 sudo apt-get update

此时会有个问题update是出现lock的异常,

E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the list directory

解决方法一:输入以下命令,再运行 “sudo apt-get update”。

sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock

还有一种情况是之前占用了进程导致的lock被占用

解决方法二:输入

ps aux

查看进程如下图 -------查找“apt-get update”任务的线程号即PID号 我这个是“2097”然后输入"sudo kill (PID)"杀死线程。

sudo kill 2097

4.2 rosdep update时遇到 Structure is cleaning …

关于rosdep update出错,可能出错的原因不同,有的是网络问题,权限问题,删除相应的rosdep,重新安装rosdep等
我尝试了几次后不行,关机重启后就不报错了(经验: 如果有些问题出的莫名奇妙,可关机重启啊)

4.3 安装完ros系统后,终端执行:roscore 报错:

The program ‘roscore’ is currently not installed. You can install it by typing:
sudo apt install python-roslaunch
出现这个问题的原因是没有将 source /opt/ros/kinetic/setup.bash 放到 ~/.bashrc文件中,可居然
没有~/.bashrc文件???

初步解决办法:locate .bashrc
发现有个:/etc/bash.bashrc
只能:sudo cp /etc/bash.bashrc ./
然后将 bash.bashrc 修改成 .bashrc
虽然可以解决问题,但不知到会不会出现其他问题。

4.4 Ubuntu Mate 自动登录桌面

1.先去系统设置里把用户登陆时要求密码给取消了: system -> administration -> user and grouds -> password -> 勾选取消密码选项
2. sudo apt-get install lightdm
3. sudo vim /usr/share/lightdm/lightdm.conf.d/60-lightdm-gtk-greeter.conf
4. // yourusername换成自己的用户名
[SeatDefaults] greeter-session=lightdm-gtk-greeter
autologin-user=yourusername

你可能感兴趣的:(ros)