ARX Lift 2S

ARX (方舟无限) is the brand. Lift 2S is that brand’s full-body mobile manipulator: arms plus lift axis and mobile base / chassis, not an arm-only robot.

Acone / AC One is dual-arm. It is not the Lift 2S platform. The arx-lift2s workspace can launch Acone from quick_start for co-debug; the product focus of that branch is Lift 2S.

Source of truth

Follow the branch README. Launch flags are those listed there.

Clone and init

Directory name lift2s-ws is the example. The workspace repo is public.

Public HTTPS (no SSH key for the top-level clone):

cd ~
git clone -b arx-lift2s https://github.com/fiveages-sim/open-deploy-ws.git lift2s-ws
cd ~/lift2s-ws

Then follow the branch README: ./init_repo.sh, or a field zip plus ./release.sh --install then ./quick_start.sh. Descriptions stay as source; controllers / hardware interfaces come from .deb.

Developer SSH (nested private modules when you have keys):

cd ~
git clone -b arx-lift2s git@github.com:fiveages-sim/open-deploy-ws.git lift2s-ws
cd ~/lift2s-ws
./init_repo.sh

Build and launch (scripts first)

Primary path is ./quick_start.sh (scenario build + Lift2S split/full body, simulation or real):

cd ~/lift2s-ws
./quick_start.sh

README menu:

  1. Build — simulation packages, or real-hardware packages (includes arx_ros2_control)

  2. Launch — choose Lift2S, then split body (分体控制) or full body (全身控制), then simulation (mock_components) or real hardware. See 分体控制 vs 全身控制.

CAN (README): left/right arms can1 / can3; no network IP. Lift axis defaults to hybrid (change to soft_p in quick_start).

X5 / R5 / ACone / Lift / X7S in the same menu are robot-descriptions-arx models for co-debug. Pick ACone only when you want the arm, not the full Lift 2S chassis.

Optional README launch lines

Prefer the script. These are the README’s optional equivalents for Lift2S. Omit hardware:= for simulation — the launch default is mock_components. Pass hardware:=real on the robot.

source ~/lift2s-ws/install/setup.bash
# Visualization
ros2 launch robot_common_launch manipulator.launch.py robot:=arx_lift2s
# Simulation / mock_components default — omit hardware:=
ros2 launch ocs2_arm_controller split_body.launch.py robot:=arx_lift2s
ros2 launch ocs2_arm_controller full_body.launch.py robot:=arx_lift2s
# Real robot
ros2 launch ocs2_arm_controller split_body.launch.py robot:=arx_lift2s hardware:=real
ros2 launch ocs2_arm_controller full_body.launch.py robot:=arx_lift2s hardware:=real

Those OCS2 launches also take type / left_type / right_type from robot_common_launch (create_robot_profile_launch_arguments()). Different L/R: left_type:= and right_type:= together; do not pass type:= then. Visualization manipulator.launch.py uses the same first-class args.

Zenoh: README asks for sudo apt install ros-jazzy-rmw-zenoh-cpp and export RMW_IMPLEMENTATION=rmw_zenoh_cpp on the deploy host.