查看: 5240|回复: 4

[教程] HCRbot系列5──HCRbot下位机设置(Odroid XU4版)

[复制链接]
# 欢迎使用 Cmd Markdown 编辑阅读器这是HCRbot系列的第5篇。

下面是目前已经写好的所有篇章链接:
HCRbot系列1──HCRbot简介:http://mc.dfrobot.com.cn/thread-26938-1-1.html
HCRbot系列2──HCRbot硬件介绍与设置:http://mc.dfrobot.com.cn/thread-26939-1-1.html
HCRbot系列3──HCRbot PC端软件设置:http://mc.dfrobot.com.cn/thread-26975-1-1.html
HCRbot系列4──HCRbot下位机设置:树莓派版:http://mc.dfrobot.com.cn/thread-27020-1-1.html
这一节主要讲 HCRbot 的下位机(Odroid XU4版)端软件设置。
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 端大同小异,本节以 Odroid XU4 为例,介绍具体安装方法。其他 SBC 安装 Ubuntu 和 ROS,网上都有很丰富的教程,在此就不再赘述了。

## 安装 Ubuntu 及相关软件
ubuntu-kernel-49-on-xu4.jpg
### 安装 Ubuntu

从下面的连接下载 Odroid XU4 对应的最新版本的 Ubuntu 16.04 LTS:

Software Release for Linux/Ubuntu Kernel 4.9 on XU4/XU3:https://odroid.com/dokuwiki/doku(链接已失效).
或者也可以下载 Kernel 版本为 3.9 的 Ubuntu 系统。但是如果要用 RealSense R200 摄像头的话,还是推荐生面 Kernel 4.9 版本的 Ubuntu 系统,因为 RealSense 好像是需要 Kernel 4.4 以上的支持才行。

Software Release for Linux/Ubuntu on XU4/XU3:https://odroid.com/dokuwiki/doku(链接已失效).
安装系统可以用 Etcher 软件:
安装完以后,将 eMMC 或者 SD 卡装到 Odroid XU4 即可以启动系统啦。
对于最新版本的系统,好像官方更新了自动更新 eMMC 或者 SD 卡的特性:
**Warming**: The RootFS Auto-resize feature has changed!!!
Once everything is done after auto-reboot, the power will turn off. Wait a couple of minutes.
Please press the power button if the blue LED is off.
### 系统设置
#### 设置开机自动登录
ubuntu-on-xu4.jpg
编辑 /usr/share/lightdm/lightdm.conf.d/60-lightdm-gtk-greeter.conf 文件如下:

[Bash shell] 纯文本查看 复制代码
[SeatDefaults]
greeter-session=lightdm-gtk-greeter
autologin-user=odroid


#### 系统更新
[Bash shell] 纯文本查看 复制代码
sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
sudo apt install linux-image-xu3
sudo reboot

有时候更新会显示连接的是 ipv6,一直更新不了。这时候可以禁用 ipv6 来解决:
[Bash shell] 纯文本查看 复制代码
sudo echo 'Acquire::ForceIPv4 "true";' | sudo tee /etc/apt/apt.conf.d/99force-ipv4

如果不需要禁用了,只需要删除 99force-ipv4 文件即可。

参考:Problem with IPv6 sudo apt-get update/upgrade:https://askubuntu.com/questions/
install-ubuntu-on-xu4.jpg
最后清理一下就好啦:

[Bash shell] 纯文本查看 复制代码
sudo apt-get autoremove
sudo apt-get autoclean


#### 设置时区和时间

先在右上角设置地点,然后:
network_configuration_robot.png
[Bash shell] 纯文本查看 复制代码
sudo apt install -y chrony ntpdate build-essential
sudo ntpdate ntp.ubuntu.com


#### 安装一些工具
[Bash shell] 纯文本查看 复制代码
sudo apt-get install -y htop vim git bash-completion git-core avahi-daemon avahi-discover libnss-mdns

### 更改 Ubuntu ARM 软件源

由于国内的网络环境会导致 Ubuntu 下载软件或者更新比较慢,所以我们要更改 Ubuntu 的默认的软件源,提高下载速度。软件源文件路径为:/etc/apt/sources.list。
像 Odroid XU4 这样的开发板基本都是 ARM 架构的,国内只有很少的镜像源会同步,基本都是高校的。推荐国内用着不错的3个镜像源:
* 清华大学镜像源:https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/
* 中国科技大学镜像源:http://mirrors.ustc.edu.cn/ubuntu-ports/
* Ubuntu正体中文站:http://ftp.ubuntu-tw.org/mirror/ubuntu-ports/
更改之前请先备份一下原来的文件:

[Bash shell] 纯文本查看 复制代码
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

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

[Bash shell] 纯文本查看 复制代码
sudo nano /etc/apt/sources.list

按下 Ctrl+\ ,先输入 https://port.ubuntu.com/ ,回车,再输入 https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ ,按 Ctrl+O 保存,回车,再按 Crtl+X 退出。
然后执行一下更新就好啦:
[Bash shell] 纯文本查看 复制代码
sudo apt-get update
sudo apt-get upgrade

更详细的 ARM 版的 Ubuntu 软件源更换方法可以参考:
推荐几个树莓派之类的开发板能用的UbuntuMate国内镜像源:https://abcde11819.github.io/39.html(链接已失效)
## 安装 ROS 及相关包

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

可以使用一件脚本安装: install_ros_kinetic.sh 。这个文件已经根据 turtlebot 3 wiki 上提供的脚本做了一些修改,可以方便快速的安装 ROS 到你的 SBC 上。
[Bash shell] 纯文本查看 复制代码
wget [url=https://raw.githubusercontent.co]https://raw.githubusercontent.co[/url] ... tall_ros_kinetic.sh
chmod +x ./install_ros_kinetic.sh
bash ./install_ros_kinetic.sh

等待安装完成,如果遇到错误,重新运行以上脚本就行。
除了针对 ARM 架构的 SBC 做了一些修改外,其他与上一节 PC 上的安装脚本基本类似。
#### 方法二:手动安装
可以参考 ROS 官方的安装方法,一步一步进行安装:

http://wiki.ros.org/kinetic/Installation/Ubuntu
### 安装 HCRbot 的 ROS 依赖包
[Bash shell] 纯文本查看 复制代码
wget [url=https://raw.githubusercontent.co]https://raw.githubusercontent.co[/url] ... pendent_packages.sh
chmod +x ./install_dependent_packages.sh
bash ./install_dependent_packages.sh

### 安装 rplidar_ros 包
[Bash shell] 纯文本查看 复制代码
cd ~/catkin_ws/src
git clone [url=https://github.com/robopeak/rplidar_ros.git]https://github.com/robopeak/rplidar_ros.git[/url]
cd ~/catkin_ws
catkin_make

如果你用的是其他的激光雷达,可以安装相应的 ROS 驱动包,此处不再赘述。
### 安装 RealSense ROS 包
这一步主要安装 RealSense R200 的 ROS 驱动包,参考官方 realsense_camera wiki:http://wiki.ros.org/realsense_camera,安装方法非常简单:
[Bash shell] 纯文本查看 复制代码
sudo apt-get install ros-kinetic-realsense-camera

这一步安装成功的包,在驱动 R200 摄像头的时候可能会出现问题,根据官方 wiki 说明,需要 对udcvideo驱动打补丁。

具体操作可以参考上述 wiki。如果安装的是 Kernel 4.9 版本的 Ubuntu,打补丁这一步也可以省略。

### 安装 hcr_ros 包
可以从我的 github 上下载 hcr_ros 包。这部份代码正在逐步完善和添加中,之后有时间我会添加更多案例代码进去。
[Bash shell] 纯文本查看 复制代码
cd ~/catkin_ws/src/
git clone [url=https://github.com/chenzhongxian/hcr_ros.git]https://github.com/chenzhongxian/hcr_ros.git[/url]
cd ~/catkin_ws && catkin_make


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

## ROS 通信设置

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

[HCR Robot] 编辑 .bashrc 文件:
[Bash shell] 纯文本查看 复制代码
gedit ~/.bashrc


请将 ROS_MASTER_URI 设置为远程主机的 IP 地址,将 ROS_HOSTNAME 中的IP地址设置为本机地址,如下图所示:
[HCR Robot] source .bashrc文件:
[Bash shell] 纯文本查看 复制代码
source ~/.bashrc

至此,下位机 Odroid XU4 设置就结束啦。

参考
Odroid wiki: Odroid XU4 Introduction: http://odroid.com/dokuwiki/doku.php?id=endroid-xu4

Odroid wiki: Release Note of Ubuntu 16.04 LTS (v2.0):
http://odroid.com/dokuwiki/doku. ... lease_note_20170510

Odroid wiki: Flashing S/W Release:
http://odroid.com/dokuwiki/doku.php?id=endroid_flashing_tools

Odroid wiki: Step-by-Step guide to building an ODROID-XU3/4 Kernel:
http://odroid.com/dokuwiki/doku.php?id=en:xu3_building_kernel

Turtlebot 3 wiki:
SBC Software Setup: (链接已失效)

ROS Installation:http://wiki.ros.org/kinetic/Installation/Ubuntu

推荐几个树莓派之类的开发板能用的UbuntuMate国内镜像源(链接失效)

未完待续…


pATAq  版主

发表于 2017-9-3 23:33:05

不错的文章,Odroid咋样,久闻未见~
回复 支持 反对

使用道具 举报

pATAq  版主

发表于 2017-9-3 23:33:39

另外楼主推荐你用Typora写MarkDown,可以直接复制。
回复 支持 反对

使用道具 举报

jarvis_chan  版主
 楼主|

发表于 2017-9-4 16:07:31

pATAq 发表于 2017-9-3 23:33
另外楼主推荐你用Typora写MarkDown,可以直接复制。

太感谢了!我自己是用 markdown 写文档的,DF 社区不支持,没想到 typora 可以直接复制粘贴,下次试试!
回复 支持 反对

使用道具 举报

jarvis_chan  版主
 楼主|

发表于 2017-9-4 16:21:59

pATAq 发表于 2017-9-3 23:33
不错的文章,Odroid咋样,久闻未见~

Odroid 比树莓派性能强悍很多
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
wifi气象站

硬件清单

btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2019 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail