Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/MRRP-lab/arm-demos/llms.txt

Use this file to discover all available pages before exploring further.

The ARM Demos project uses pixi to manage the development environment and expose all common operations as named tasks. You run tasks with pixi run <task> from the project root, or enter pixi shell once to activate the environment and use commands directly. The build task is a prerequisite for the robot launch tasks and runs automatically when needed.
These are the primary tasks you will use day-to-day for building and running demos.
TaskCommandDescription
pixi run buildcolcon build --symlink-installBuilds all packages under src/ and writes outputs to install/. Uses symlink install so Python source edits take effect without rebuilding.
pixi run arm-demoros2 launch arm_demo arm_demo.launch.py gripper_type:=vacuum use_camera:=falseLaunches the hand-tracking arm demo with a vacuum gripper and no external camera node.
pixi run demo-gripperros2 launch colman_motion pick_and_place.launch.py gripper_type:=vacuumLaunches the pick-and-place demo using AprilTag detection and the vacuum gripper.
Short aliases are provided for frequently used tasks.
AliasResolves toNotes
pixi run bbuildShort form of the build task.
pixi run launchlaunch-lanConnects to the physical robot over LAN.
pixi run runlaunch-lanIdentical alias for launch.
pixi run simlaunch-simStarts the driver with mock hardware.
pixi run mocklaunch-simIdentical alias for sim.
These tasks start the UR robot driver. Both launch-lan and launch-sim depend on build and run it first if outputs are stale.pixi run launch / pixi run launch-lan — Real LAN robotConnects to the physical UR3e at 192.168.56.101. The dashboard client is disabled; headless mode is enabled so the robot runs without a teach pendant UI.
pixi run launch
Effective driver arguments:
ArgumentValue
ur_typeur3e
robot_ip192.168.56.101
use_mock_hardwarefalse
headless_modetrue
launch_dashboard_clientfalse

pixi run sim / pixi run mock — Mock hardware (simulation)Starts the driver with simulated hardware. No physical robot is required. RViz is available for visualization.
pixi run sim
Effective driver arguments:
ArgumentValue
ur_typeur3e
robot_ip0.0.0.0
use_mock_hardwaretrue
headless_modefalse
launch_dashboard_clientfalse

pixi run moveit — MoveIt with RVizLaunches the MoveIt move group and RViz for the UR3e. Useful for inspecting the planning scene or testing motions interactively.
pixi run moveit
Runs: ros2 launch ur_moveit_config ur_moveit.launch.py ur_type:=ur3e use_sim_time:=true launch_rviz:=true
Start the robot driver (pixi run sim or pixi run launch) before running this task. MoveIt requires an active joint_state_broadcaster to know the robot’s current state.
launch-lan and launch-sim are both thin wrappers around the internal _launch template task, which calls ur_robot_driver ur_control.launch.py with the following parameterized arguments.
ArgumentTypeChoicesDescription
ur_typestringRobot model identifier. Set to ur3e for the Colman arm.
robot_ipstringNetwork address of the robot controller.
description_launchfilestringAbsolute path to the robot state publisher (RSP) launch file, resolved via ros2 pkg prefix colman_bringup.
use_mock_hardwarestringfalse, trueWhen true, the driver simulates hardware without a physical robot.
headless_modestringfalse, trueWhen true, suppresses the UR dashboard client UI. Required for unattended operation.
launch_dashboard_clientstringfalse, trueWhether to launch the UR dashboard client node.
The template also always passes gripper_type:=vacuum to the driver.
TaskDescription
pixi run download-mediapipe-modelDownloads hand_landmarker.task from Google’s MediaPipe model storage into the current directory. Required before running arm-demo.
pixi run view-urLaunches urdf_tutorial display.launch.py to visualize the robot URDF in RViz without a running driver.
pixi run psgrepRuns ps aux | grep "$PIXI_PROJECT_ROOT" to list all processes associated with the project. Useful for finding stale nodes.
pixi run cleanRemoves the build/, install/, and log/ directories. Run this before a full rebuild.
pixi run purgeRemoves .pixi/, build/, install/, log/, and ~/.cache/rattler. Use this to reset the entire pixi environment and package cache.
pixi run purge deletes the rattler package cache at ~/.cache/rattler. This affects all pixi projects on the machine, not just ARM Demos. Re-downloading packages after a purge can take several minutes.
These tasks belong to the oak-viewer pixi environment, which is isolated from the default environment. You must prefix each command with --environment oak-viewer.
TaskDescription
pixi run --environment oak-viewer install-oakRuns tools/create-oak-env.sh to create the OAK viewer environment with its dependencies. Run this once before using the other OAK tasks.
pixi run --environment oak-viewer setup-oakWrites a udev rule for the OAK-D camera (idVendor==03e7, MODE="0666") and reloads udev. Required on Linux before first use.
pixi run --environment oak-viewer connect-oak-wslRuns tools/connect-oak-wsl.ps1 via powershell.exe to attach the OAK-D USB device inside WSL. Only needed on Windows Subsystem for Linux.
pixi run --environment oak-viewer oak-viewerLaunches the OAK viewer application using dbus-launch oak-viewer.
On a native Linux host you only need install-oak and setup-oak once. Skip connect-oak-wsl unless you are running inside WSL.

Build docs developers (and LLMs) love