使用 ROS 2 Control 和 Gazebo (经典版本也就是classic)创建和控制机械臂。
以下是将项目复制到本地机器上进行开发和测试的指南。
安装此软件所需的内容以及如何安装它们。 ros2 humble gazebo classic11 ros2 control
逐步指导如何设置开发环境。
- 克隆项目仓库:
git clone https://github.com/karmueo/my_arm.git- 进入项目目录:
cd yourproject- 安装依赖项:
sudo apt-get update
sudo apt install ros-$ROS_DISTRO-gazebo-ros-pkgs
sudo apt-get install ros-${ROS_DISTRO}-ros2-control ros-${ROS_DISTRO}-ros2-controllers ros-${ROS_DISTRO}-gripper-controllers ros-${ROS_DISTRO}-gazebo-ros2-control编译
colcon build \
--merge-install \
--symlink-install最后给出从系统中获取数据或进行小型演示的示例。
source install/setup.bash
# 运行示例
ros2 launch my_arm robot_gazebo.launch.py控制机械臂运动
ros2 topic pub --once /arm_controller/joint_trajectory trajectory_msgs/msg/JointTrajectory "{
joint_names: [
'shoulder_joint',
'upperArm_joint',
'foreArm_joint',
'wrist1_joint',
'wrist2_joint',
'wrist3_joint'
],
points: [
{
positions: [0.0, 0.0, 1.57, 0, 1.57, -1.57],
time_from_start: {sec: 5, nanosec: 0}
}
]
}"也可以控制夹爪打开
ros2 topic pub --once /gripper_controller/joint_trajectory trajectory_msgs/msg/JointTrajectory "{
joint_names: ['panda_finger_joint1'],
points: [
{
positions: [0.8],
velocities: [0.1],
time_from_start: {sec: 5, nanosec: 0}
}
]
}"
else
echo "Usage: $0 {move|reset|open|close}"
exit 1
fi