系统镜像安装与备份
OriginBot出厂未安装系统,大家可以使用以下两种方式中的一种进行安装:
如果在使用过程中,想要备份当前状态下的系统镜像,可以参考如下说明自行备份,备份之后的镜像,依然可以适用以上烧写方法。
烧写OriginBot SD卡镜像
下载OriginBot SD卡镜像
请从以下表格中,下载机器人的SD卡镜像,并将下载好的文件解压缩。
版本 | 发布日期 | 下载链接 | 包含软件版本 |
---|---|---|---|
2024.3.1 |
originbot_sd_image_v2.1.0 |
已包含新版本系统、所有应用功能及源码 ros:foxy TogetheROS:2.1.2 |
如需要下载以往版本的镜像,可点击此处跳转下载
烧写SD卡镜像
(1)使用读卡器将SD卡插入计算机,SD卡容量建议≥16GB;
(2)启动镜像烧写软件(可参考常用软件下载);
(3)确认SD卡设备号,选择要烧写的系统镜像;
启动RDK X3
(1)确认机器人套件已经正确安装;
(2)使用套件中的串口模块连接机器人端RDK X3的调试串口,连接线序如下:
如连接旭日X3派,接口稍有不同,连接线序如下:
(3)将串口模块连接到PC端的USB口,启动串口软件,连接串口设备、设置波特率921600、关闭流控制;
Info
如果此处找不到串口设备,请先安装串口模块的系统驱动之后,再重新尝试,点击此处下载串口驱动,解压后双击其中的dpinst64.exe进行安装。
(4)插入烧写好镜像的SD卡,并启动机器人电源;
(5)在串口软件中可以看到启动过程输出的日志信息,稍等片刻,会出现登录提示:
(6)输入用户名及密码,用户名和密码均为root:
(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
运行成功后,重启系统即可生效,使用如下命令确认系统空间扩展成功,这里使用的SD卡为32GB:
配置网络连接
无线网络
完成Ubuntu安装后,启动系统,参考以下链接,完成无线网络的配置:
$ sudo nmcli device wifi rescan # 扫描wifi网络
$ sudo nmcli device wifi list # 列出找到的wifi网络
$ sudo wifi_connect "SSID" "PASSWD" # 连接某指定的wifi网络
等到终端返回信息“successfully activated",就说明WIFI连接成功。我们可以Ping一个网站,来检查一下连接。如果能够Ping通,就说明网络已经连接成功,现在就可以成功连接到互联网,便于后续的软件下载和更新了。
有线网络
OriginBot系统镜像出厂已经配置了有线网络的静态IP:192.168.1.10
大家可以通过网线直接连接RDK X3的网口和PC端的网口,即可通过SSH远程登录。
SSH远程登录
网络配置完成后,就可以不受串口的约束啦,大家可以通过无线网络(或者有线网络)远程登录机器人进行开发。
Info
此处根据使用的是有线网络还是无线网络,填入对应的IP地址。IP地址可以使用ifconfig命令查询,eth0对应有线网卡,wlan0对应无线网卡。
输入用户名和密码:root/root,即可登陆成功:
Info
-
如果在PC端的Ubuntu环境中,也可以在终端中使用以下命令实现ssh远程登录(注意将IP地址修改为实际地址): ssh root@192.168.31.246
-
如果使用虚拟机,要将网络设置为桥接模式
原生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网络
网络连接成功后,执行以下指令,将系统软件更新到最新版本:
安装TogetheROS/ROS2
重新启动Ubuntu系统后,使用如下命令安装地平线机器人开发平台TogetheROS:
配置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核心功能包:
时间会有些长,需要稍微等待一下。
现在ROS2就安装完成了。
大家可以使用同样的命令,继续安装ROS2中的更多功能包。
Attention
如果ROS安装下载失败,请执行下方命令,依次完成OriginBot机器人应用代码的拉取、ROS和依赖库的安装。
安装功能包与依赖库
为满足后续机器人开发的使用,还需要安装一系列功能包与依赖库:
$ 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工作空间
接下来进入该路径下,下载OriginBot机器人的应用代码:
再回到工作空间路径下,开始编译代码:
配置雷达端口号
雷达的功能包中,提供了绑定串口号的脚本,按照以下指令执行即可:
$ 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软件:
在打开的gparted软件中,右上角选择SD卡:
然后右键选择卸载SD卡的挂载:
继续点击右键,选择“Resize/Moves”选项,重新设置SD卡的空间大小:
拖拽空间划分条右侧,压缩空间,其中黄色是占用的分区,白色是空闲的分区,注意保留一点白色空闲分区,避免镜像无法启动。
确认后点击软件中的执行按钮,开始进行压缩操作。
压缩完成后,即可关闭gparted软件。
查看磁盘信息
打开终端,使用fdisk命令查看当前磁盘情况。
图中/dev/sdb就是SD卡的磁盘编号,继续使用如下命令查看SD卡分区信息:
开始磁盘备份
现在就可以使用dd命令,来备份SD卡到img文件中了。
此时终端中并没有提示信息,但是备份已经开始,时间较长,请耐心等待。
完成备份后,终端指令会自动跳出,当前路径下得到img镜像备份文件。
生成的img镜像文件较大,有需要的话,可以继续使用zip等工具进行压缩和解压缩使用。
至此,SD卡镜像备份完毕,需要使用时,参考烧写OriginBot SD卡镜像即可。