jarvis_chan 发表于 2017-8-25 18:35:57

HCRbot 系列 4──HCRbot下位机设置(树莓派版)

这是HCRbot系列的第4篇。

下面是目前已经写好的所有篇章链接:


[*]HCRbot系列1──HCRbot简介:https://mc.dfrobot.com.cn/thread-26938-1-1.html
[*]HCRbot系列2──HCRbot硬件介绍与设置:https://mc.dfrobot.com.cn/thread-26939-1-1.html
[*]HCRbot系列3──HCRbot PC端软件设置:https://mc.dfrobot.com.cn/thread-26975-1-1.html
[*]HCRbot系列4──HCRbot下位机设置:树莓派版:https://mc.dfrobot.com.cn/thread-27020-1-1.html


这一节主要讲 HCRbot 的下位机(树莓派版)端软件设置。

HCRbot 底层下位机可以用一些常见的单板机 SBC(Single Board Computer),采用的也是 Ubuntu 16.04 LTS 的系统和 ROS Kinetic 版本。

推荐的 SBC 有 Raspberry Pi 3、Odroid XU4、TX1/2 等。TK1 也行,但是不支持安装 Ubuntu 16.04 系统,所以也就不支持 ROS Kinetic。当然,如果你的 ROS 版本是 Indigo 的话,TK1 是一个很好的选择。我本人试过 Raspberry Pi 3 和 Odroid XU4 。也在 TK1 上玩过 Indigo。TX 系列太贵了,就没玩过。

安装方法与 PC 端大同小异,本节以 Raspberry Pi 3 为例,介绍具体安装方法。其他 SBC 安装 Ubuntu 和 ROS,网上都有很丰富的教程,在此就不再赘述了。

## 安装 Ubuntu 及相关软件

### 安装 Ubuntu

从下面的连接下载 Raspberry Pi 版本的 Ubuntu 16.04 LTS:

https://ubuntu-mate.org/download/




Ubuntu Mate 的介绍可以参考:Ubuntu MATE for the Raspberry Pi 2 and Raspberry Pi 3:https://ubuntu-mate.org/raspberry-pi/

树莓派系统安装方法可以参考树莓派官方网站,此处不在赘述。

### 更改 Ubuntu ARM 软件源

由于国内的网络环境会导致 Ubuntu 下载软件或者更新比较慢,所以我们要更改 Ubuntu 的默认的软件源,提高下载速度。软件源文件路径为:/etc/apt/sources.list。

像 Raspberry Pi 这样的开发板基本都是 ARM 架构的,国内只有很少的镜像源会同步,基本都是高校的。推荐国内用着不错的3个镜像源:


[*]清华大学镜像源:https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/
[*]中国科技大学镜像源:https://mirrors.ustc.edu.cn/ubuntu-ports/
[*]Ubuntu正体中文站:https://ftp.ubuntu-tw.org/mirror/ubuntu-ports/


更改之前请先备份一下原来的文件:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

然后我们可以使用 nano 来快速编辑。比如把原来的源换成清华的源:

sudo nano /etc/apt/sources.list

按下 Ctrl+\ ,先输入 https://port.ubuntu.com/ ,回车,再输入 https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ ,按 Ctrl+O 保存,回车,再按 Crtl+X 退出。

然后执行一下更新就好啦:

sudo apt-get update
sudo apt-get upgrade

### 安装 SSH

Raspberry Pi 3 版的 Ubuntu Mate 系统默认已经安装了 SSH,只是需要我们手动去开启一下 SSH 服务,我们可以用下面的命令开启:

sudo raspi-config

选择 Interfacing Options:



选择 SSH ,然后 Enable 就行了。



## 安装 ROS 及相关包

### 安装 ROS

#### 方法一:一键脚本安装(推荐)

可以使用一件脚本安装: install_ros_kinetic_rp3.sh 。这个文件已经根据 turtlebot 3 wiki 上提供的脚本做了一些修改,可以方便快速的安装 ROS 到你的 SBC 上。

wget https://raw.githubusercontent.co ... _ros_kinetic_rp3.sh
chmod +x ./install_ros_kinetic_rp3.sh.sh
bash ./install_ros_kinetic_rp3.sh catkin_ws kinetic

等待安装完成,如果遇到错误,重新运行以上脚本就行。

除了针对 ARM 架构的 SBC 做了一些修改外,其他与上一节 PC 上的安装脚本基本类似。

#### 方法二:手动安装

可以参考 ROS 官方的安装方法,一步一步进行安装:

https://wiki.ros.org/kinetic/Installation/Ubuntu

### 安装 HCRbot 的 ROS 依赖包

wget https://raw.githubusercontent.co ... pendent_packages.sh
chmod +x ./install_dependent_packages.sh
bash ./install_dependent_packages.sh

### 安装 rplidar_ros 包

cd ~/catkin_ws/src
git clone https://github.com/robopeak/rplidar_ros.git
cd ~/catkin_ws
catkin_make

如果你用的是其他的激光雷达,可以安装相应的 ROS 驱动包,此处不再赘述。

### 安装 hcr_ros 包

可以从我的 github 上下载 hcr_ros 包。这部份代码正在逐步完善和添加中,之后有时间我会添加更多案例代码进去。

cd ~/catkin_ws/src/
git clone https://github.com/chenzhongxian/hcr_ros.git
cd ~/catkin_ws && catkin_make

## USB 权限与别名设置

与上一节 PC 端设置完全一样,此处不再赘述,具体请参照上一节的设置方法。

## ROS 通信设置

我们将 ROS Master 运行在远程主机上。

编辑 .bashrc 文件:

gedit ~/.bashrc

请将 ROS_MASTER_URI 设置为远程主机的 IP 地址,将 ROS_HOSTNAME 中的 IP 地址设置为本机地址,如下图所示:



source .bashrc文件:

source ~/.bashrc

至此,下位机 Raspberry Pi 3 设置就结束啦。

## 参考


[*]Turtlebot 3 wiki:SBC Software Setup:
[*]https://turtlebot3.readthedocs.io/en/latest/sbc_software.html
[*]ROS Installation:https://wiki.ros.org/kinetic/Installation/Ubuntu
[*]Ubuntu MATE for the Raspberry Pi 2 and Raspberry Pi 3:https://ubuntu-mate.org/raspberry-pi/




未完待续……


pATAq 发表于 2017-8-28 16:32:40

非常不错,支持一下!

linksprite001 发表于 2020-4-13 18:17:45

HI 这个支持树莓派4B吗?

铁熊 发表于 2020-4-14 09:01:04

linksprite001 发表于 2020-4-13 18:17
HI 这个支持树莓派4B吗?

支持的
页: [1]
查看完整版本: HCRbot 系列 4──HCRbot下位机设置(树莓派版)