示例

lebai_tutorials 提供可以直接运行的 Python 示例。运行前先构建工作空间:

cd ~/lebai/lebai_ws
source /opt/ros/humble/setup.bash
colcon build --symlink-install
source install/setup.bash

基础驱动示例

基础示例需要先启动 lebai_driver

ros2 launch lebai_driver driver.launch.py robot_ip:=127.0.0.1 simulator:=true

运行关节运动和直线运动示例:

ros2 run lebai_tutorials move_example.py

运行 IO 示例:

ros2 run lebai_tutorials io_example.py

订阅关节状态:

ros2 run lebai_tutorials joint_state_subscriber.py

MoveIt 示例准备

MoveIt 示例需要先启动 MoveIt 配置。使用 gripper 示例时必须启用 gripper:

ros2 launch lebai_lm3_moveit_config lm3.launch.py \
  robot_ip:=127.0.0.1 \
  simulator:=true \
  has_gripper:=true

连接真实控制器时,将 robot_ip 改成控制器 IP,并省略 simulator:=true

机械臂 MoveIt 示例

moveit_manipulator_example.py 通过 MoveIt 的 manipulator group 发送 关节空间目标。默认会规划并执行轨迹:

ros2 run lebai_tutorials moveit_manipulator_example.py

只规划、不执行:

ros2 run lebai_tutorials moveit_manipulator_example.py --plan-only

指定 6 个关节目标,单位为弧度:

ros2 run lebai_tutorials moveit_manipulator_example.py \
  --joints="-0.35,-1.0,1.2,-1.1,-0.6,0.0"

gripper MoveIt 示例

moveit_gripper_amplitude_example.py 使用 MoveIt gripper 控制器 action,并用 claw 幅度百分比设置 gripper。幅度范围是 0100

ros2 run lebai_tutorials moveit_gripper_amplitude_example.py --amplitude 50

幅度会映射到 gripper 主动关节 gripper_r_joint1

gripper_r_joint1 = amplitude / 100 * pi / 3

因此 --amplitude 0 对应关闭,--amplitude 100 对应打开。