Ubuntu系统刷机教程
注意事项
请仔细阅读使用须知即刷机文档。如开始进行刷机,即视为已阅读下述须知。产生的相应后果由客户自行负责。
该系统的刷机是不可逆的过程,即刷机成功换成ubuntu系统后无法再刷回原来的Yocto系统。
目前刷机的版本为先行版本,仅用于系统更换,内置功能API较少如下:ToF数据、运动控制功能;后续请关注本末科技官网()其他功能API的更新。
准备工作
硬件准备:TITA随包装的刷机线(标志A朝外插入DBG口,先插线再上电);Ubuntu系统电脑 此操作需要将刷机包下载至电脑(必须Linux系统)中,并创建新的文件夹,将刷机包解压至新建的文件夹中。
sudo apt install abootimg binfmt-support binutils cpio cpp device-tree-compiler dosfstools lbzip2 libxml2-utils nfs-kernel-server openssl python3-yaml qemu-user-static sshpass udev uuid-runtime whois rsync zstd lz4
(这是NVIDIA刷机所需要的依赖,请首先将以上依赖安装在刷机的电脑中,而不是机器人)Download apollo-ubuntu-${date}.tar (下载对应日期的系统软件包)
mkdir apollo-ubuntu(可在电脑系统的任意位置创建文件夹)
tar -xf apollo-ubuntu-${date}.tar -C apollo-ubuntu (解压系统软件包至新建文件夹中)
开始刷机
进入刚刚创建的文件夹
cd apollo-ubuntu
sudo ./flash_robot.sh 注意!部分Ubuntu中可能缺少sshpass和nfs-kernel-server两个插件,缺哪个装哪个
结束标志
刷机完成时可以看到以下信息
并且输入指令lsusb
能看到这个信息
Connect TITA Robot System
可以使用USB3.0的USB-TypeC线插入标志为“DBG”接口使用SSH指令进入机器人系统(注意!随包装的TypeC线为刷机线,不可作为调试线使用)
ssh robot@192.168.42.1
password: apollo
如何连接WIFI
刷机过后需要下载ROS包和其他依赖,所以需要先将机器人连接网络,以下是连接当前所在地的WIFI教程:
1.首先 sudo vim /etc/wpa_supplicant/wpa_supplicant-nl80211-wlan0.conf
2.修改图中,ssid= “WIFI name”; psk=”PassWord”
3.修改完后reboot
4.当机器人重启后会自动连接上述步骤所设置的WIFI
安装依赖
在目前的新系统中为了确保ROS2包能正常运行,所以需要安装以下的依赖:
安装g2o
在机器人系统中执行以下步骤:
sudo wget http://webdav:qwVNGwbCzjKRWFx0@61.145.190.130:10088/cdFile/ubuntu_deb/g2o-1.2.23-Linux.deb
sudo dpkg -i g2o-1.2.23-Linux.deb
安装ROS依赖
打开终端输入指令:
ssh robot@192.168.42.1
,Password:apollo
, 进入机器下载ROS2包:
sudo wget http://webdav:qwVNGwbCzjKRWFx0@61.145.190.130:10088/cdFile/ros2_deb/tita-ros2-20241017000618.deb
(版本号以实际情况而定)执行
sudo apt-get update
,更新源执行
sudo dpkg -i tita-ros2-20241017000618.deb
,此次安装是不会成功的,目的是让系统知道需要装什么依赖执行
sudo apt install -f
,下载包中所需依赖再执行一次安装指令
sudo dpkg -i tita-ros2-20241017000618.deb
,成功安装即可。如果嫌上面一条条复制麻烦,可以将下面代码生成bash脚本运行
设置ROS2环境
若第一次刷机后,使用ros2指令比如使用ros2 topic list
或者 ros2 service list
会出现没有topic或者service的情况。这时我们需要设置环境,设置ROS2环境需要对三个文件做操作,分别是 ~/.bashrc
;local_setup.bash
;tita-bringup.service
。
1. ~/.bashrc
输入:
sudo vim ~/.bashrc
进入~/.bashrc后在最后的位置添加两个字段
export ROS_DOMAIN_ID=42
source /opt/ros/humble/setup.bash
保存退出后需要
source ~/.bashrc
2. tita-bringip.service
输入
sudo vim /usr/lib/systemd/system/tita-bringup.service
确保
ROS_DOMAIN_ID=42
,并将ROS_LOCALHOST_ONLY=1
改成ROS_LOCALHOST_ONLY=0
,如图修改完成保存退出
3. local_setup.bash
输入指令,`sudo vim /opt/ros/humble/local_setup.bash
在最后的位置加入字段
export ROS_DOMAIN_ID=42
设置完成后保存退出并执行
source local_setup.bash
4. 自检
如果以上操作都完成后可以执行
sudo systemctl restart tita-bringup.service
让ROS2服务重启后可以输入
ros2 topic list
查看是否能print机器里的ros2 topic,如图
网络配置
该网络配置针对于 TITA Tower配件的网络分配,可以通过此设置分配独立IP用于TITA Tower与机器人配合使用。
安装依赖
sudo apt install network-manager
安装完依赖后需要克隆AutoNetworkManager的仓
git clone http://git.ddt.dev:9281/wuyunzhou/AutoNetworkManager.git
通过AutoNetworkManager的脚本安装
cd AutoNetworkManager
chmod 777 install.sh
sudo ./install.sh
完成以上步骤后,通过ifconfig
能看到eth0自动分配IP 192.168.19.97,并且可以ping TITA Tower上默认IP 192.168.19.97。
如何配对遥控器
(在机器人中执行这个操作)
使用
git clone
将遥控器配对脚本克隆下来git clone http://git.ddt.dev:9281/wuyunzhou/crsf-app.git
cd crsf-app
chmod 777 install_ubuntu.sh
sudo ./install_ubuntu.sh
执行指令
crsf-app -bind
,可以观察到返回:
6. 遥控器开机后 右边按键向左推进入界面后 按键依次进入Tools ->ExpressLRS-> bind模式,进行配对接收机. 7. 配对完成返回pair success
如何在Ubuntu系统中升级运控和电机
在机器人系统中先执行以下操作
sudo git clone git@git.ddt.dev:wuyunzhou/motor_upgrade.git /usr
sudo cp /usr/motor_upgrade/ota_lib/*.so /usr/lib
sudo cp /usr/motor_upgrade/ota_lib/otafifth_demo /usr/bin
sudo pip install pycryptodome
sudo pip install crcmod
完成以上步骤后,需要运行升级脚本
cd ~/motor-patch/
chmod 777 run.sh
sudo ./run.sh
3.升级完成后重新对机器上下电重启