littlebot
Published on 2025-04-14 / 0 Visits
0

【源码】基于ROS2和microROS的Tmotor AK系列作动器控制系统

项目简介

本项目是一个基于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 listros2 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】