Skip to content

le876/one_segment_robot_upper

Repository files navigation

单节蛇形机械臂控制系统

项目概述

本项目是基于原多节蛇形机械臂项目(buaa_rescue_robot)简化而来的单节机械臂控制系统,使用ROS 2 Humble开发。系统主要控制单节臂的1、2、11、12号电机,并记录电机编码器和力传感器数据用于后续的深度学习训练。

目录

  1. 安装说明
  2. 硬件设置
  3. 使用方法
  4. 数据记录功能
  5. 常见问题排查

1. 安装说明

前置条件

  • Ubuntu 22.04
  • ROS 2 Humble
  • C++14 或更高版本

构建与安装

# 克隆代码库
git clone <your-repository-url> one_segment
cd one_segment

# 安装依赖
rosdep install --from-paths src --ignore-src -r -y

# 构建项目
colcon build

# 加载环境变量
source install/setup.bash

2. 硬件设置

串口设备重命名

创建udev规则文件来映射USB设备到固定名称,避免设备重启后映射变化:

sudo nano /etc/udev/rules.d/99-usb-serial.rules

添加以下内容(根据您的实际硬件配置调整):

KERNEL=="ttyUSB[0-9]*", MODE="0666"
# Set a fixed name for specific serial devices

# Robomaster 1
SUBSYSTEM=="tty", SUBSYSTEMS=="usb", KERNELS=="1-10.1", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", MODE="0666", SYMLINK+="ttyRobomaster1"
SUBSYSTEM=="tty", SUBSYSTEMS=="usb", KERNELS=="1-10.2", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", MODE="0666", SYMLINK+="ttyPullPushSensors1"

重新加载udev规则:

sudo udevadm control --reload-rules
sudo udevadm trigger

3. 使用方法

启动系统

使用启动脚本运行完整系统(包括所有串口节点、控制器和GUI):

./start_robot.bash

或直接使用ROS 2 launch命令:

# 进入项目目录
cd ~/one_segment

# 加载环境变量
source /opt/ros/humble/setup.bash
source install/setup.bash

# 启动完整系统
ros2 launch one_segment_msgs control_by_keyboard.launch.py

键盘控制

如需使用键盘控制机械臂,请参考GUI界面上的按键说明。

4. 数据记录功能

系统包含数据记录节点,可记录机械臂运动过程中的传感器数据:

开始记录数据

# 开始记录
ros2 service call /data_recorder/toggle_recording std_srvs/srv/SetBool "{data: true}"

# 停止记录
ros2 service call /data_recorder/toggle_recording std_srvs/srv/SetBool "{data: false}"

数据文件位置

数据默认保存在 ~/one_segment_data 目录下,格式为CSV,包含时间戳、电机位置、速度和力传感器数据。

5. 常见问题排查

串口连接问题

如遇到串口连接问题,请检查:

  1. 串口设备是否存在:ls -l /dev/tty*
  2. 用户是否有串口访问权限:sudo usermod -a -G dialout $USER(需重新登录)
  3. udev规则是否正确加载:sudo udevadm trigger

启动失败

如系统启动失败,请检查:

  1. 工作空间是否已构建:colcon build
  2. 环境变量是否正确设置:source install/setup.bash
  3. 串口设备是否连接:ls -l /dev/ttyRobomaster1 /dev/ttyPullPushSensors1

更多详细信息和功能说明,请参考项目修改日志和项目结构文档。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors