跳转至

系统镜像安装与备份

OriginBot出厂未安装系统,大家可以使用以下两种方式中的一种进行安装:

  1. 烧写OriginBot SD卡镜像【推荐】

  2. 通过原生Ubuntu系统进行配置

如果在使用过程中,想要备份当前状态下的系统镜像,可以参考如下说明自行备份,备份之后的镜像,依然可以适用以上烧写方法。


烧写OriginBot SD卡镜像

下载OriginBot SD卡镜像

请从以下表格中,下载机器人的SD卡镜像,并将下载好的文件解压缩

版本 发布日期 下载链接 包含软件版本

v2.1.0

2024.3.1

originbot_sd_image_v2.1.0
已包含新版本系统、所有应用功能及源码
ros:foxy
TogetheROS:2.1.2

如需要下载以往版本的镜像,可点击此处跳转下载

烧写SD卡镜像

(1)使用读卡器将SD卡插入计算机,SD卡容量建议≥16GB;

(2)启动镜像烧写软件(可参考常用软件下载);

(3)确认SD卡设备号,选择要烧写的系统镜像;

image-20220902144937771
(4)点击“开始”后,继续点击“确认”,开始烧写镜像;

image-20220902145043410
(5)进度条会显示当前的烧写进度,烧写完成后,即可退出软件。

image-20220902150201248

启动RDK X3

(1)确认机器人套件已经正确安装;

(2)使用套件中的串口模块连接机器人端RDK X3的调试串口,连接线序如下: RDKX3_serial_connect.jpg

如连接旭日X3派,接口稍有不同,连接线序如下: image-20220612121707048

(3)将串口模块连接到PC端的USB口,启动串口软件,连接串口设备、设置波特率921600、关闭流控制;

8962317cd3d7c9eb268085d233bd9c7

image-20220902151416967

Info

如果此处找不到串口设备,请先安装串口模块的系统驱动之后,再重新尝试,点击此处下载串口驱动,解压后双击其中的dpinst64.exe进行安装。

(4)插入烧写好镜像的SD卡,并启动机器人电源;

image-20221021115537957

(5)在串口软件中可以看到启动过程输出的日志信息,稍等片刻,会出现登录提示:

image-20220902150943452

(6)输入用户名及密码,用户名和密码均为root:

image-20220902151620051

(7)至此机器人端的RDK X3启动成功。

扩展SD卡空间

为了减少系统镜像大小,便于下载和烧写,系统镜像中的空闲空间已经被压缩,如果需要使用SD卡的完整空间,还需要手动扩展。

启动RDK X3并通过串口登录后,使用如下指令即可扩展:

#如使用V1.x版本,使用以下命令
$ sudo growpart /dev/mmcblk2 1
$ sudo resize2fs /dev/mmcblk2p1

#如使用V2.x版本,使用以下命令
$ sudo growpart /dev/mmcblk2 2
$ sudo resize2fs /dev/mmcblk2p2

image-20220902151655008

运行成功后,重启系统即可生效,使用如下命令确认系统空间扩展成功,这里使用的SD卡为32GB:

image-20220902151756524

配置网络连接

无线网络

完成Ubuntu安装后,启动系统,参考以下链接,完成无线网络的配置:

$ sudo nmcli device wifi rescan        # 扫描wifi网络
$ sudo nmcli device wifi list          # 列出找到的wifi网络
$ sudo wifi_connect "SSID" "PASSWD"    # 连接某指定的wifi网络

image-20220902152042941

等到终端返回信息“successfully activated",就说明WIFI连接成功。我们可以Ping一个网站,来检查一下连接。如果能够Ping通,就说明网络已经连接成功,现在就可以成功连接到互联网,便于后续的软件下载和更新了。

image-20220902152128764

有线网络

OriginBot系统镜像出厂已经配置了有线网络的静态IP:192.168.1.10

大家可以通过网线直接连接RDK X3的网口和PC端的网口,即可通过SSH远程登录。

image-20220902152416149

SSH远程登录

网络配置完成后,就可以不受串口的约束啦,大家可以通过无线网络(或者有线网络)远程登录机器人进行开发。

image-20220902152651425

Info

此处根据使用的是有线网络还是无线网络,填入对应的IP地址。IP地址可以使用ifconfig命令查询,eth0对应有线网卡,wlan0对应无线网卡。

输入用户名和密码:root/root,即可登陆成功:

image-20220902152716043

Info
  • 如果在PC端的Ubuntu环境中,也可以在终端中使用以下命令实现ssh远程登录(注意将IP地址修改为实际地址): ssh root@192.168.31.246

  • 如果使用虚拟机,要将网络设置为桥接模式

image-20221017215853209

原生Ubuntu系统配置

安装Ubuntu系统

参考RDK X3(旭日X3派)官方手册,完成Ubuntu系统的安装,推荐使用服务器server版本。

完成Ubuntu安装后,启动系统,参考以下链接,完成无线网络的配置:

$ sudo nmcli device wifi rescan        # 扫描wifi网络
$ sudo nmcli device wifi list          # 列出找到的wifi网络
$ sudo wifi_connect "SSID" "PASSWD"    # 连接某指定的wifi网络

网络连接成功后,执行以下指令,将系统软件更新到最新版本:

$ sudo apt update
$ sudo apt full-upgrade
$ sudo reboot

安装TogetheROS/ROS2

重新启动Ubuntu系统后,使用如下命令安装地平线机器人开发平台TogetheROS:

$ sudo apt install tros

配置ROS2的软件源和密钥:

$ sudo apt update && sudo apt install curl gnupg lsb-release #更新软件源
$ sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key  -o /usr/share/keyrings/ros-archive-keyring.gpg #设置ROS2软件源秘钥
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null #设置ROS2软件源
Attention

大部分国内开发者在这都会遇到同一个问题:网址无法连接。解决方案可以参考古月居官网上的这篇帖子:《解决”Failed to connect to raw.githubusercontent.com“报错》

安装ROS2核心功能包:

$ sudo apt update #更新软件源
$ sudo apt install ros-foxy-ros-base ros-foxy-demo-nodes-cpp  # 安装ROS2功能包

时间会有些长,需要稍微等待一下。

2022_7_4 4_41_51

现在ROS2就安装完成了。

大家可以使用同样的命令,继续安装ROS2中的更多功能包。

Attention

如果ROS安装下载失败,请执行下方命令,依次完成OriginBot机器人应用代码的拉取、ROS和依赖库的安装。

$ mkdir -p /userdata/dev_ws/src
$ cd /userdata/dev_ws/src
$ git clone https://gitee.com/guyuehome/originbot.git
$ cd ~/userdata/dev_ws/src/originbot/
$ ./install_prereq_fullimg.sh 

安装功能包与依赖库

为满足后续机器人开发的使用,还需要安装一系列功能包与依赖库:

$ sudo apt install python3-colcon-common-extensions     # ROS2编译器
$ sudo apt install git                                  # 安装git工具
$ sudo apt install ros-foxy-slam-toolbox                # 安装slam-toolbox
$ sudo apt install ros-foxy-cartographer-ros            # 安装cartographer
$ sudo apt install ros-foxy-teleop-twist-keyboard       # 安装键盘控制节点
$ sudo apt install ros-foxy-robot-localization          # 安装定位功能包
$ sudo apt install cloud-utils                          # 安装磁盘工具
$ sudo apt install ros-foxy-rmw-cyclonedds-cpp          # 安装Cyclone DDS
$ sudo apt install ros-foxy-teleop-twist-joy            # 安装手柄的驱动包
$ sudo apt install ros-foxy-joy-linux                   # 安装手柄的驱动包
$ sudo apt install ros-foxy-cv-bridge                   # 安装图像处理包
$ sudo apt install ros-foxy-xacro                       # 安装模型解析包
$ sudo apt install ros-foxy-robot-state-publisher       # 安装机器人状态发布者包
$ sudo apt install ros-foxy-joint-state-publisher       # 安装关节状态发布者包
$ sudo apt install ros-foxy-joint-state-publisher-gui   # 安装关节状态发布者包
$ sudo apt install ros-foxy-image-transport             # 安装图像压缩包
$ sudo apt install ros-foxy-image-transport-plugins     # 安装图像压缩包
$ pip install opencv-contrib-python -i https://pypi.tuna.tsinghua.edu.cn/simple  #安装指定opencv版本
$ sudo apt-get install libboost-python1.71.0            #安装Boost依赖包

安装传感器驱动

如果大家所使用的OriginBot带有激光雷达,需要参考以下指令,完成雷达SDK驱动包的安装:

# 安装工具库
$ sudo apt install cmake pkg-config
$ sudo apt-get install python swig
$ sudo apt-get install python-pip

# 编译ydlidar SDK
$ cd /userdata
$ git clone https://github.com/YDLIDAR/YDLidar-SDK.git
$ cd YDLidar-SDK
$ mkdir build
$ cd build
$ cmake ..
$ make -j2
$ sudo make install

# 安装python版本的SDK
$ cd ..
$ pip install .

编译应用代码

在userdata(或root)文件夹下,创建dev_ws/src工作空间

$ mkdir -p /userdata/dev_ws/src

接下来进入该路径下,下载OriginBot机器人的应用代码:

$ cd /userdata/dev_ws/src
$ git clone https://gitee.com/guyuehome/originbot.git

再回到工作空间路径下,开始编译代码:

$ cd /userdata/dev_ws
$ source /opt/tros/setup.bash
$ colcon build

配置雷达端口号

雷达的功能包中,提供了绑定串口号的脚本,按照以下指令执行即可:

$ chmod 0777 /userdata/dev_ws/src/originbot/originbot_driver/ydlidar_ros2_driver/startup/*
$ sudo sh /userdata/dev_ws/src/originbot/originbot_driver/ydlidar_ros2_driver/startup/initenv.sh

设置环境变量

添加环境变量到bashrc中:

$ vi /root/.bashrc

# 在文件末尾添加如下内容:
source /opt/tros/setup.bash
source /userdata/dev_ws/install/local_setup.bash
Attention

此处配置的bashrc脚本和登录的用户有关系,如使用“sunrise”用户登录的话,对应修改/home/sunrise下的.bashrc文件。

备份OriginBot SD卡镜像

以下备份过程在电脑端的Ubuntu系统中完成。

压缩磁盘空间

为减少镜像大小,我们先使用gparted软件压缩SD卡的磁盘空间。将SD卡插入运行的电脑中,安装并启动gparted软件:

$ sudo apt-get install gparted
$ sudo gparted

在打开的gparted软件中,右上角选择SD卡: img

然后右键选择卸载SD卡的挂载: img

继续点击右键,选择“Resize/Moves”选项,重新设置SD卡的空间大小: img

拖拽空间划分条右侧,压缩空间,其中黄色是占用的分区,白色是空闲的分区,注意保留一点白色空闲分区,避免镜像无法启动。 img

确认后点击软件中的执行按钮,开始进行压缩操作。 img

压缩完成后,即可关闭gparted软件。

查看磁盘信息

打开终端,使用fdisk命令查看当前磁盘情况。

$ sudo fdisk -u -l
img

图中/dev/sdb就是SD卡的磁盘编号,继续使用如下命令查看SD卡分区信息:

$ sudo fdisk -u -l /dev/sdb
img

开始磁盘备份

现在就可以使用dd命令,来备份SD卡到img文件中了。

$ sudo dd bs=512 count=[fdisk命令中最大的end数+1] if=/dev/sdb of=originbot_backup.img
img

此时终端中并没有提示信息,但是备份已经开始,时间较长,请耐心等待。

完成备份后,终端指令会自动跳出,当前路径下得到img镜像备份文件。 img

生成的img镜像文件较大,有需要的话,可以继续使用zip等工具进行压缩和解压缩使用。

至此,SD卡镜像备份完毕,需要使用时,参考烧写OriginBot SD卡镜像即可。

图片1