ROS2 升级烧录操作教程
本节概述了在机器设备上从ROS1升级到ROS2的详细操作说明。本流程将一次性完整安装ROS2系统和机器人SDK软件依赖。
升级版本信息
- JetPack版本:6.0
- 操作系统:Ubuntu 22.04
- 机器人操作版本:ROS2 Humble
1. 升级前准备
1.1 硬件准备
物品 | 数量 | 备注 |
---|---|---|
电脑 | 1 | 系统:Ubuntu 20.04,x86型号 环境:Python 硬盘空间:至少预留110G |
USB转Micro-USB数据线 | 1 | 用于连接机器与电脑,进行烧录操作。 |
网线 | 1 | 用于连接机器与电脑,获取IP地址。 |
内六角扳手 | 1 | 用于拆除机器底盘螺丝。 |
注意:
- 建议使用Ubuntu20.04进行烧录,经测试其他版本可能导致烧录异常。
- 建议烧录前关闭电脑的防火墙,以免出现报错。
在上位机执行以下命令配置Python环境:
1.2 软件准备
点击以下链接获取内核文件:
- 百度云: ROS2 升级烧录软件
- Google Cloud:ROS2 Upgrade Resources
注意:建议将所有文件下载到路径~/Downloads/ROS2_software_flashing_tool
中。软件路径下禁止使用中文字符。
2. 连接烧录线
2.1 拆除底盘盖板
将机器人关机断电,使用L型六角扳手卸下底盘盖板的6个固定螺钉,卸下盖板。
2.2 连接线束
使用USB转Micro-USB数据线,将Micro-USB端连接到ECU的U2接口(如图所示,ECU位于底盘中央,建议从底盘左侧风扇处的空隙将线束接入插口),USB端接入上位机的USB插口。
3. 软件烧录流程
3.1 SSH连接机器人
请在上位机终端中输入以下命令以连接机器人Orin。
3.2 进入烧录模式
请在上位机中输入以下命令重启机器,使其进入烧录模式。
3.3 检查设备挂载
请在上位机终端中多次输入以下命令,以检查烧录USB线束连接重启后是否出现名为“Nvidia Crop”的串口设备,若存在,即表示已成功进入烧录模式。

3.4 解压烧录和镜像文件
下载并进入文件路径。
解压烧录工具flashtool
。
tar -xpf flashtool_tztek_geac_orin_jp6.0.0_GA_GEACX1_R3.0_Kv6.0.3_1126.tar.bz2
# 工具目录名过长,可重命名为flashtool:
mv flashtool_tztek_geac_orin_jp6.0.0_GA_GEACX1_R3.0_Kv6.0.3_1126 flashtool
解压镜像文件system.img.raw
(硬盘空间至少预留110G)。
3.5 挂载系统镜像
将镜像文件system.img.raw
挂载到指定烧录包路径{your_flashing_file_path}
。
sudo mount system.img.raw /home/$USER/Downloads/ROS2_software_flashing_tool/flashtool/Linux_for_Tegra/rootfs
3.6 安装刷机运行依赖项
# 首次烧录镜像,请先安装:
sudo apt install qemu-user-static -y
sudo ./flashtool/Linux_for_Tegra/tools/l4t_flash_prerequisites.sh
# 如遇“ E: 无法获得锁 /var/lib/apt/lists/lock。锁正由进程 xx_pid(packagekitd)持有”的错误,
# 请先执行以下命令后,再执行上述命令:
# kill -9 xx_pid
3.7 更新驱动
烧录之前请务必更新initrd
驱动。
暂时禁用新的USB设备插入。
3.8 运行烧录脚本
注意:整个烧录过程预计持续30~40分钟,期间请勿插拔电脑和机器之间的USB-Micro数据线。烧录完成后将自动进入系统。
sudo ./tztek_flash.sh
# 返回烧录功能编号,请输入“7“(flash_all);
# 返回平台型号编号,请输入“6”(agx_orin);
# 返回烧录确认,请输入“yes”,然后按下“Enter”,即可开始烧录。

4. 内核升级
4.1 获取机器人IP地址
将网线连接至底盘外设以太网接口,多次执行以下命令获取电脑共享给机器人设备的局域网IP地址。
在本地终端上执行以下命令。
cd /home/$USER/Downloads/ROS2_software_flashing_tool
scp tztek-jetson-tool-eeprom-info-v1.1.deb nvidia@<ecu-ip>:~/
在机器人ECU的SSH终端执行以下命令。
sudo dpkg -i tztek-jetson-tool-eeprom-info-v1.1.deb
# 查看ECU主板型号:r2.1或r3.0
sudo tztek-jetson-tool-eeprom-info -a
4.2 贝内核安装包
在本地终端上执行以下命令,拷贝内核安装包到机器人。
# 若ECU主板型号为r2.1,输入以下指令:
scp tztek-jetson-firmware-kernel-dtb-510jx0-r2.1-jp6.0.0-v6.0.3.deb nvidia@<ecu-ip>:~/
# 若ECU主板型号为r3.0,输入以下指令:
scp tztek-jetson-firmware-kernel-dtb-510jx0-r3.0-jp6.0.0-v6.0.3.deb nvidia@<ecu-ip>:~/
4.3 安装新内核
在机器人ECU的SSH终端上执行以下命令,拷贝内核安装包到机器人设备。 注:内核安装持续时间可能较长,期间请勿中断程序。
# 若ECU主板型号为r2.1,输入以下指令:
sudo dpkg -i ~/tztek-jetson-firmware-kernel-dtb-510jx0-r2.1-jp6.0.0-v6.0.3.deb
# 若ECU主板型号为r3.0,输入以下指令:
sudo dpkg -i ~/tztek-jetson-firmware-kernel-dtb-510jx0-r3.0-jp6.0.0-v6.0.3.deb
# 启用新内核:
sudo tztek-jetson-firmware-kernel-dtb-510jx0
# 输入以下命令重启或者通过电源按钮重启:
sudo reboot
4.4 检查内核信息
在机器人ECU的SSH终端上执行以下命令。
5. 复制系统至SSD
系统烧录完成后,进入EMMC系统环境,并执行以下命令复制系统到SSD。(若用户无需安装系统到ECU的SSD,只将SSD作为数据盘挂载,则无需执行之后的操作。)

等待系统复制到SSD后,重启ECU,进入SSD系统环境。输入以下指令,检查系统环境是否正确。

至此,ROS2 升级烧录结束,ROS2系统、雷达、相机及机器人本体SDK模块等相关依赖均已安装完毕。