TogetherROS——旭日x3派机器人操作系统初探

1. What is TogetherROS?

TogetherROS是地平线基于ROS2 Foxy版本二次开发的机器人操作系统,旨在提升基于地平线芯片平台机器人开发的效率。

2. How to install TogetherROS?

2.1 准备工作

① 旭日x3派开发板(已经安装好天线) ② Ubuntu20.04操作系统烧录完毕,本文采用使用不带图形桌面的Ubuntu Server版本(服务版) 参考链接: 旭日,从地平线升起——旭日X3派开箱测试 ③ 调试工具MobaXterm ④ 准备一根网线,笔记本电脑与旭日x3派组成局域网互联 ⑤ Wifi联网正常

2.2 局域网连接

2.2.1 网线互联

网线一端连接笔记本电脑(Win10操作系统)网口,另一端连接旭日派网口。旭日x3派系统默认静态ip为:192.168.1.10,为了能够与旭日派组成局域网,可以将笔记本电脑的ip地址设置为192.168.1.100,以便与旭日派的ip设置在同一网段。

设置笔记本电脑以太网ip地址:Windows设置“网络和Internet”,选择“以太网”,在网络设置选项中,将IPv4地址设置为:192.168.1.100,网关:192.168.1.1

2.2.2 通过SSH局域网连接旭日开发板

① 笔记本电脑运行MobaXterm,单击Session→SSH→Remote host→“192.168.1.10”→OK

② 通过SSH登录旭日开发板 login as : root

2.2.3 用SSH Browser浏览旭日开发板的文件系统

SSH连接成功后,就可以用MobaXterm的SSH Browser工具浏览并访问旭日派开发板的文件系统了。

2.3 下载并安装DEB包

2.3.1 从官网下载HHP.deb文件

将HHP.deb下载到笔记本电脑,下载链接:https://pan.horizon.ai/index.php/s/M5NgJPFoWxB8kmS

2.3.2 将HHP.deb传送给开发板

① 利用MobaXterm的SSH Browser工具,浏览并打开旭日x3派开发板根目录下的userdata文件夹,按住鼠标左键,直接拖拽HHP.deb到旭日开发板的userdata目录下

② 查看旭日开发板/userdata目录下的HHP.deb文件

2.3.3 安装HHP.deb

① 进入userdata文件夹 MobaXterm通过SSH模式进入开发板的Ubuntu系统,用户名Boot登录,输入cd /userdata 指令

cd /userdata  

② 运行HHP.deb

sudo dpkg -i HHP.deb 

③ 完成安装

这样,我们用网线将笔记本电脑与旭日x3派开发板互连并组成局域网,将安装文件HHP.deb传送到开发板,再利用SSH登录开发板的Ubuntu系统,完成了TogetherROS的安装,系统文件会自动安装在/opt/tros文件夹下。

2.4 配置旭日x3派的wifi无线网络

接下来,我们需要对开发板的ROS环境进行配置,配置过程中,旭日开发板必须连接外网下载或更新,可以采用有线和无线两种连接方式,下面介绍wifi无线连接方法。

2.4.1 查找wifi

sudo nmcli device wifi rescan 
nmcli device wifi list 

2.4.2 连接wifi

sudo nmcli device wifi connect Note password a12345678 

上面指令行中,Note为wifi名称,a12345678为密码,用户要根据自己要连接的wifi名称和密码进行修改,如果wifi连接成功,会有successfully activated提示。我们可以试着ping一下百度的网站

ping www.baidu.com 

可以看到网站的延时数据,说明wifi连接正常,按Ctrl+C退出ping状态。

2.5 更新Ubuntu系统

sudo apt update sudo apt full-upgrade 

2.6 安装ROS2功能包

2.6.1 配置Github服务器ip

安装ROS2需要从Github服务器下载软件,由于Github服务器在国外,为了保证连接有效,可以将Github服务器ip地址提前配置一下hosts:

vi /etc/hosts 

一般没有使用过vim编辑器的用户,会比较懵,注意vim操作方法: ① 键盘输入“i”,vim界面左下角会切换成“INSERT”模式; ② 键盘↑↓←→键移动光标到指定位置,添加以下Github服务器ip地址行;

185.199.108.133 raw.githubusercontent.com 

添加完毕,如下图所示。

③ 键盘按ESC键,此时INSERT提示消失; ④ 键盘输入“:wq”,回车,退出vim编辑器。 其实本来不想拓展解释vim编辑器,但是为了防止旭友踩坑,下面是网友的总结,让大家系统了解一下vim的指令集的具体含义:

:q   //退出 
:q! //退出且不保存(:quit!的缩写) 
:wq //保存并退出 :wq! //保存并退出即使文件没有写入权限(强制保存退出)
:x //保存并退出(类似:wq,但是只有在有更改的情况下才保存) 
:exit //保存并退出(和:x相同) 
:qa //退出所有(:quitall的缩写) 
:cq //退出且不保存(即便有错误)

2.6.2 更新软件源和下载工具

sudo apt update && sudo apt install curl gnupg2 lsb-release 

2.6.3 设置ROS2软件源密钥

sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key  -o /usr/share/keyrings/ros-archive-keyring.gpg 

2.6.4 设置ROS软件源

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 

2.6.5 更新系统

sudo apt update 

2.6.6 安装ROS2及常用工具

根据用户的实际需求,可以选择安装完整版或是基础版ROS2:

① 完整版ROS2

sudo apt install ros-foxy-desktop 

② 基础版ROS2+Demo例程

sudo apt install ros-foxy-ros-base ros-foxy-demo-nodes-cpp 

③ Colcon编译工具

sudo apt install python3-colcon-common-extensions 

④ Git工具

sudo apt install git 

2.7 创建TogetherROS与ROS2之间的软连接

TogetherROS提供了一个软连接的脚本create_soft_link.py,方便调用ROS2的功能: ① 进入TogetherROS文件夹

cd /opt/tros/ 

② 运行create_soft_link.py脚本

python3 create_soft_link.py --foxy /opt/ros/foxy/ --tros /opt/tros/ 

③ 设置环境变量脚本 Source一下local_setup.bash

source /opt/tros/local_setup.bash 

3. Hello World!Run TogetherROS!

我们测试一下TogetherROS的通信功能,主要思路是: ① 创建两个终端; ② 在终端1中,发布信息; ③ 在终端2中,订阅信息; ④ 若两者同步,说明 TogetherROS运行正常。

3.1 创建两个SSH终端

打开MobaXterm,新建两个SSH终端,也可以通过复制已有的终端实现,如图所示。

3.2 在终端1中,发布信息

在终端1中,依次运行以下命令行,发布信息:

source /opt/tros/local_setup.bash ros2 run examples_rclcpp_minimal_publisher publisher_member_function 

3.3 在终端2中,订阅信息

在终端2中,依次运行以下命令行,订阅信息:

source /opt/tros/local_setup.bash ros2 run examples_rclcpp_minimal_subscriber subscriber_member_function 

3.4 两个终端同步显示Helloworld

「地平线旭日X3派,开启你的嵌入式开发之旅」,欢迎正在阅读的你申请试用,一起交流开发心得!

【参考文献】

【1】地平线机器人平台用户手册

【2】古月居旭日x3派定制课程

【3】旭日X3派——ros2 foxy配置记录

【4】如何退出Vim编辑器

【本文作者CSDN同步文章】

【1】001_旭日X3派初探:开箱测试

【2】002_旭日X3派初探:TogetherROS安装

【3】003_旭日X3派初探:利用无线串口通信控制舵机

安装包里面根本没有deb文件

能不能给个确定的安装文档,安装包都不一样了