Skip to content

LissajousX/DM_ARM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DM_ARM 机械臂项目

项目概述

这是一个基于ROS2的机械臂仿真项目,包含了机械臂的URDF模型、Gazebo仿真以及RViz可视化功能。项目已经从ROS1迁移到ROS2,并针对Gazebo仿真进行了优化。

目录结构

/DM_ARM
├── config/          # 配置文件
├── launch/          # ROS2启动文件
│   ├── display.launch.py  # 用于RViz可视化
│   ├── gazebo.launch.py   # 用于Gazebo仿真
│   └── urdf.rviz          # RViz配置文件
├── meshes/          # 3D模型文件
├── textures/        # 纹理文件
├── urdf/            # URDF模型文件
│   └── DM_ARM.urdf  # 机械臂的URDF描述
├── CMakeLists.txt   # 编译配置文件
├── package.xml      # 包信息文件
└── README.md        # 本文件

环境要求

  • Ubuntu 22.04或更高版本
  • ROS2 Humble或更高版本
  • Gazebo

编译指南

1. 创建ROS2工作空间

# 创建工作空间
mkdir -p ~/ros2_ws/src
cd ~/ros2_ws/src

# 将项目链接或复制到工作空间
ln -s /path/to/DM_ARM .
# 或者
cp -r /path/to/DM_ARM .

2. 编译项目

# 进入工作空间
cd ~/ros2_ws

# 设置ROS2环境
source /opt/ros/humble/setup.bash

# 编译项目
colcon build --symlink-install

# 设置工作空间环境
source install/setup.bash

运行指南

在Gazebo中仿真

# 设置环境
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
source install/setup.bash

# 启动Gazebo仿真
ros2 launch dm_arm gazebo.launch.py

在RViz中可视化

# 设置环境
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
source install/setup.bash

# 启动RViz可视化
ros2 launch dm_arm display.launch.py

注意事项

  1. URDF模型调整:机械臂的质量参数已经调整为原始值的十分之一,以提高在Gazebo中的稳定性。如果仿真中出现不稳定的情况,可以考虑进一步调整质量和惯性参数。

  2. Joint2旋转:Joint2的rpy参数已设置为3.14159 -1.5708 0,使link2绕x轴(红色轴)旋转180度,以解决link2初始位置的问题。

  3. RViz配置:如果在RViz中看不到模型,请确保:

    • Fixed Frame设置为"base_link"
    • RobotModel显示已启用
    • 尝试使用joint_state_publisher_gui移动关节
    • 检查mesh文件路径是否正确
  4. Gazebo警告:启动Gazebo时可能会看到关于root link惯性的警告,这是正常的,不影响仿真功能。如果需要解决,可以添加一个额外的dummy link作为root link。

  5. XML编码声明:URDF文件中已删除XML编码声明,以避免在Gazebo中加载模型时出现问题。如果修改URDF文件,请不要添加XML编码声明。

故障排除

  1. Gazebo无法启动:确保没有其他Gazebo实例在运行。可以使用以下命令关闭所有Gazebo进程:

    killall -9 gzserver gzclient gazebo
  2. 模型加载失败:检查URDF文件中的路径是否正确,特别是mesh文件的路径。

  3. 编译错误:确保已安装所有依赖项:

    sudo apt install ros-humble-gazebo-ros ros-humble-joint-state-publisher-gui ros-humble-robot-state-publisher ros-humble-rviz2

进一步开发

  1. 控制器集成:可以添加控制器配置,实现机械臂的运动控制。

  2. 轨迹规划:集成MoveIt2进行轨迹规划和碰撞检测。

  3. 传感器集成:添加相机、力传感器等,增强仿真功能。

  4. 用户界面:开发专用的用户界面,简化操作。

许可证

BSD许可证

About

DM_ARM

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published