项目简介
本项目是一个基于ROS2的项目,用于控制T - motor AK系列机器人作动器。以Teensy板作为控制器,借助micro - ROS框架实现与ROS2的通信。该项目支持伺服和MIT两种控制模式,但需要使用Rubik Link V2.0来设置正确的模式。
项目的主要特性和功能
- 实现ROS2与T - motor AK系列机器人作动器的通信。
- 提供Python接口用于控制作动器。
- 支持伺服和MIT两种控制模式。
- 采用PID控制器实现平滑的控制过渡。
- 配备代码风格检查工具和测试套件用于测试。
安装使用步骤
准备工作
用户已下载本项目的源码文件,还需确保拥有T - motor AK系列机器人作动器、Teensy板、必要的线路和工具。同时安装好ROS2和Docker。
硬件连接
依据提供的接线图,将Teensy板与作动器进行连接。
软件安装与配置
Teensy固件设置
- Linux系统:连接Teensy到计算机,在终端运行
docker compose up ros2 - teensy - firmware - flasher
,若失败可多运行几次。 - MacOS系统:运行
docker compose up ros2 - teensy - firmware - builder
生成.hex
文件,路径为teensy/.pio/build/teensy40/firmware.hex
,可使用Teensy Loader或在系统安装PlatformIO后运行cd teensy && pio run --target upload
进行刷机。
ROS2主机设置
- 确保系统安装并配置好micro - ROS,也可运行
docker compose up ros2 - base - and - micro - ros
使用创建的Docker镜像。 - 在容器的一个终端运行
ros2 run micro_ros_agent micro_ros_agent serial --dev /dev/ttyACM0 --baudrate 4608000
连接Teensy。
运行与测试
- 在另一个终端使用
ros2 topic list
和ros2 service list
确认所有主题和服务。 - 利用以下命令测试控制作动器:
- 查看伺服模式下电机状态:
ros2 topic echo /micro_ros_teensy/servo_state
- 查看电机(MIT)模式下电机状态:
ros2 topic echo /micro_ros_teensy/motor_state
- 测试不同控制指令(具体指令见项目文档)。
- 运行测试套件检查代码风格和功能。
注意事项
此项目处于开发阶段,可能存在bug和不稳定问题,请在测试环境中使用。同时,请在熟悉ROS2和嵌入式系统编程的基础上使用,严格按照步骤和指南操作。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】