Skip to content

QiuYuCode/armpi_fpv_ws

Repository files navigation

ArmPi FPV 机械臂控制系统

基于 ROS 2 Humble 和 MoveIt 2 的机械臂控制系统,支持通过 RViz 交互式标记进行直观控制。

🚀 快速开始

# 启动交互式控制系统
./start_interactive_control.sh

# 或手动启动
source install/setup.bash
ros2 launch armpi_fpv_control interactive_control.launch.py

📚 文档导航

🎯 入门文档

📖 使用指南

🔧 控制器文档

🧪 测试文档

✨ 主要特性

完整的机械臂控制

  • ✅ RViz 交互式标记可视化控制
  • ✅ MoveIt 路径规划和避障
  • ✅ 平滑轨迹执行
  • ✅ 实时位置反馈

夹爪控制

  • ✅ 开/合命令控制
  • ✅ 位置精确控制
  • ✅ 执行状态反馈

仿真支持

  • ✅ Gazebo 物理仿真
  • ✅ 虚拟环境测试

🏗️ 系统架构

RViz 可视化界面
    ↓
MoveIt 运动规划
    ↓
┌──────────┴──────────┐
↓                     ↓
trajectory_controller  gripper_controller
(机械臂)               (夹爪)
    ↓                     ↓
机械臂硬件            夹爪硬件

📦 项目结构

armpi_fpv_ws/
├── src/
│   ├── armpi_fpv_control/        # 核心控制包
│   │   ├── armpi_fpv_control/
│   │   │   ├── trajectory_controller.py    # 机械臂轨迹控制器
│   │   │   ├── gripper_controller.py       # 夹爪控制器
│   │   │   ├── interactive_marker_control.py # 交互式标记控制
│   │   │   └── joint_status_pub.py         # 关节状态发布
│   │   ├── launch/
│   │   │   └── interactive_control.launch.py # 主启动文件
│   │   └── README_*.md            # 包级文档
│   ├── armpi_fpv_description/    # 机器人模型描述
│   ├── armpi_fpv_gazebo/         # Gazebo 仿真
│   ├── armpi_fpv_moveit_config/  # MoveIt 配置
│   └── armpi_fpv_moveit_py/      # MoveIt Python 接口
├── docs/                         # 📚 文档目录
│   ├── getting-started/          # 入门文档
│   ├── guides/                   # 使用指南
│   ├── controllers/              # 控制器文档
│   └── testing/                  # 测试文档
├── install/                      # 安装文件
├── build/                        # 编译文件
└── start_interactive_control.sh  # 快速启动脚本

🔧 系统要求

  • 操作系统: Ubuntu 22.04
  • ROS 版本: ROS 2 Humble
  • Python: 3.10+
  • 依赖: MoveIt 2, Gazebo

📝 安装和编译

# 1. 克隆项目(如果还没有)
cd ~/workspace
git clone <repository-url> armpi_fpv_ws

# 2. 安装依赖
cd armpi_fpv_ws
rosdep install --from-paths src --ignore-src -r -y

# 3. 编译
colcon build

# 4. 加载环境
source install/setup.bash

🎮 使用方法

方式 1: 使用启动脚本(推荐)

./start_interactive_control.sh

方式 2: 手动启动

source install/setup.bash
ros2 launch armpi_fpv_control interactive_control.launch.py

在 RViz 中操作

  1. 控制机械臂:

    • Planning Group 选择 "arm"
    • 勾选 "Query Goal State"
    • 拖动交互式标记
    • 点击 "Plan & Execute"
  2. 控制夹爪:

    • Planning Group 选择 "gripper"
    • 在 "Joints" 选项卡调整 r_joint
    • 点击 "Plan & Execute"

🐛 故障排除

如果遇到问题,请查看:

  1. 完整解决方案 - 常见问题和解决方法
  2. 快速测试指南 - 验证系统状态

常见问题

Q: Action server not connected 错误?

  • A: 检查 trajectory_controller 和 gripper_controller 是否正常启动
  • 运行: ros2 action list 验证服务器

Q: 交互式标记不显示?

  • A: 确保勾选了 "Query Goal State" 并选择了正确的 Planning Group

Q: 机械臂不运动?

  • A: 检查 /joint_states 话题是否正常发布
  • 运行: ros2 topic echo /joint_states

🤝 贡献

欢迎提交 Issue 和 Pull Request!

📄 许可证

Apache-2.0

📞 联系方式

🙏 致谢

  • ROS 2 和 MoveIt 2 社区
  • 所有贡献者

最后更新: 2025-10-14 版本: 2.0 状态: ✅ 稳定可用

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors