AprilTag Pick-and-Place#
Detect an AprilTag-marked object and pick and place it. Detection uses either
OpenCV AprilTag (with MoveIt2 OMPL) or Isaac ROS AprilTag (with cuMotion). See
Example Applications for the shared manipulator setup. All commands run through
mros.
Simulation#
Open the Isaac Sim scene:
~/workspaces/movensys-simulation/<MANIPULATOR_MODEL>/4a_apriltag_pick_and_place_simulation.usdRun the simulator bridge:
mros ros2 launch movensys_manipulator_moveit_config sim_bridge.launch.py \ simulator:=isaacsim use_sim_time:=true
Launch the planner and AprilTag detector:
mros ros2 launch movensys_manipulator_perception apriltag_detector.launch.py use_sim_time:=true
mros ros2 launch movensys_manipulator_isaac_ros_config isaac_cumotion_apriltag.launch.py use_sim_time:=true
Run the pick-and-place:
mros ros2 launch movensys_manipulator_moveit_config apriltag_pick_and_place.launch.py \ use_sim_time:=true target_spawn:=false
HIL#
Open the Isaac Sim scene:
~/workspaces/movensys-simulation/<MANIPULATOR_MODEL>/4b_apriltag_pick_and_place_hil.usdStart WMX ROS2 for the manipulator (real WMX runtime) with
use_sim_time:=true.Launch the planner and AprilTag detector (with
use_sim_time:=true):mros ros2 launch movensys_manipulator_perception apriltag_detector.launch.py use_sim_time:=true
mros ros2 launch movensys_manipulator_isaac_ros_config isaac_cumotion_apriltag.launch.py use_sim_time:=true
Run the pick-and-place:
mros ros2 launch movensys_manipulator_moveit_config apriltag_pick_and_place.launch.py \ use_sim_time:=true target_spawn:=false
Real#
Open the Isaac Sim scene:
~/workspaces/movensys-simulation/<MANIPULATOR_MODEL>/4c_apriltag_pick_and_place_real.usdStart WMX ROS2 for the manipulator on the robot (no
use_sim_time).Launch the planner and AprilTag detector:
mros ros2 launch movensys_manipulator_perception apriltag_detector.launch.py
mros ros2 launch movensys_manipulator_isaac_ros_config isaac_cumotion_apriltag.launch.py
Run the pick-and-place (
target_spawn:=truespawns the target on the real setup):mros ros2 launch movensys_manipulator_moveit_config apriltag_pick_and_place.launch.py \ use_sim_time:=false target_spawn:=true