ROS2与Ailibot2入门教程-升级-固件升级
说明:
- 介绍如何升级ailibot2核心板固件
- ailibot2核心板为stm32F407芯片的核心板,固件采用c和c++混合开发
- 基于micro-ros的galactic版本
- 目前是相对稳定版本,ros2_ailibot_firmware_f4_v1.0.0.bin
- 此模式是通过usb线连接ailibot2核心板直接进行升级
相关设备:
- ailibot2差速系列:采购Ailibot2-D2,采购Ailibot2-D4
- ailibot2全向系列:采购Ailibot2-M4,采购Ailibot2-O3,采购Ailibot2-O4
流程:
- 下载最新的固件到小车上的树莓派上位机的固定刷机目录
- 进入固定的刷机目录,通过启动命令和按钮组合,进入刷机模式
- 确认刷机模式,再执行刷机
- 恢复运行模式
步骤:
- 下载固件
# install rcm
curl -k https://www.ncnynl.com/rcm.sh | bash -
# download
rcm ros2_ailibot2 install_ros2_ailibot_firmware
- 在小车下,进入固定的刷机目录
cd ~/tools/ros2_ailibot_firmware
- 进入刷机模式
$./uboot.sh
stm32flash 0.5
http://stm32flash.sourceforge.net/
Interface serial_posix: 115200 8E1
Version : 0x31
Option 1 : 0x00
Option 2 : 0x00
Device ID : 0x0413 (STM32F40xxx/41xxx)
- RAM : Up to 128KiB (12288b reserved by bootloader)
- Flash : Up to 1024KiB (size first sector: 1x16384)
- Option RAM : 16b
- System RAM : 30KiB
- 进行刷机,自动使用固件库里面最新版本固件
$./uflash.sh d2
stm32flash 0.5
http://stm32flash.sourceforge.net/
Using Parser : Intel HEX
Interface serial_posix: 115200 8E1
Version : 0x31
Option 1 : 0x00
Option 2 : 0x00
Device ID : 0x0413 (STM32F40xxx/41xxx)
- RAM : Up to 128KiB (12288b reserved by bootloader)
- Flash : Up to 1024KiB (size first sector: 1x16384)
- Option RAM : 16b
- System RAM : 30KiB
Write to memory
Erasing memory
Wrote address 0x0802fa70 (100.00%) Done.
- 看到上面文字,说明刷机成功
- 退出刷机模式
# 退出刷机模式
./ureset.sh
- 确保三个步骤执行都成功,如果不成功,可以再次执行。
- 固件正常刷入后,可以启动底盘进行确认固件是否正常工作。
- 小车端,启动底盘
ros2 launch ailibot2_bringup agent.launch.py
- 出现相关日志滚动的信息,就说明启动成功,新固件生效。
- 查看相关话题
# 查看话题列表
ros2 topic list
# 查看imu话题
ros2 topic echo /ram_imu
# 查看电池电压
ros2 topic echo /battery
# 查看超声波话题
ros2 topic echo /sonar
# 查看参数列表
ros2 param list
# 查看其中参数
ros2 param get ailibot2 pid_p
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号