MoveIt
本页说明如何启动 LM3/LM3-L1 的 MoveIt 配置,并通过 RViz 做规划和执行。
准备工作
先在工作空间根目录构建源码包:
cd ~/lebai/lebai_ws
source /opt/ros/humble/setup.bash
colcon build --symlink-install
source install/setup.bash
启动 MoveIt
连接仿真控制器时,将 robot_ip 指向仿真控制器所在主机。下面示例使用本机
127.0.0.1:
ros2 launch lebai_lm3_moveit_config lm3.launch.py \
robot_ip:=127.0.0.1 \
simulator:=true
连接真实控制器时,将 robot_ip 改成控制器 IP,并省略
simulator:=true:
ros2 launch lebai_lm3_moveit_config lm3.launch.py \
robot_ip:=192.168.1.100
启动 LM3-L1 MoveIt:
ros2 launch lebai_lm3_moveit_config lm3_l1.launch.py \
robot_ip:=127.0.0.1 \
simulator:=true
默认会加载带 gripper 的配置。只使用机械臂本体时,设置
has_gripper:=false:
ros2 launch lebai_lm3_moveit_config lm3.launch.py \
robot_ip:=127.0.0.1 \
simulator:=true \
has_gripper:=false
RViz 中的操作
启动后,在 RViz 的 MotionPlanning 面板中选择 planning group:
manipulator:拖动末端交互 marker,点击Plan做机械臂规划,点击Execute执行轨迹。执行前需要先启动机械臂。gripper:选择open或closed命名状态,再执行 gripper action。
点击 Execute 后,MoveIt 会通过驱动执行机械臂轨迹或 claw 开合命令。
检查连接
启动后可以检查 joint states、MoveIt 控制 action 和 TF:
ros2 topic echo /lebai/status/joint_states --once
ros2 topic echo /lebai/model/joint_states --once
ros2 action info /lebai_trajectory_controller
ros2 action info /lebai_gripper_controller/gripper_cmd
ros2 topic echo /tf --once
ros2 action info 应该显示 MoveIt action client 和驱动 action server 都存在。
如果只有 client、没有 server,通常说明 lebai_driver 没有正常启动或工作空间
没有重新构建并 source。