Skip to main content

Marvin Pro Startup and Debugging

This page applies to the current Tianzhun-controller version and covers the minimum sequence from power-on to first teleoperation. For buttons, recording, playback, and logs, see Current Marvin Pro Apex Teleop.

1. Before startup​

  • Connect the robot, cabinet, host PC, and headset according to Hardware Wiring.
  • Release the emergency stop and clear the robot workspace.
  • Put the host PC and Tianzhun controller on the same subnet.
  • Connect the headset to the same LAN.
  • Check whether the robot is still in its factory packing pose. Do not click Home from the packing pose. A wrist camera may collide with the center column.

2. Connect to the Controller​

Select the address and account for the controller installed in the device. These are factory defaults; use the delivery configuration if the IP address, username, or password has been changed.

ControllerDefault IPUsernameDefault password
Tianzhun6.6.7.100nvidianvidia
Lingjing Thor6.6.7.100user1

Tianzhun controller:

ping 6.6.7.100
ssh nvidia@6.6.7.100

Lingjing Thor controller:

ping 6.6.7.100
ssh user@6.6.7.100

Enter the corresponding default password on the first SSH connection. If the delivered device already uses a changed password, do not attempt to restore the factory default.

After controller power-on, if the delivered system contains ~/cam_geac, initialize the cameras according to the delivered configuration:

cd ~/cam_geac
./rb_camera.sh init

Start the Apex backend service:

sudo systemctl start apex-backend.service
sudo systemctl status apex-backend.service --no-pager

Disable X11-Forwarding in MobaXterm to avoid camera timeout or headset video issues.

3. Start Apex Teleop and the Robot​

  1. Open Apex Teleop.
  2. Enter the Tianzhun controller IP in the upper-right field and press Enter.
  3. Start Robot.
  4. Confirm that the URDF pose matches the physical robot.
  5. Start Teleop and dnsmasq.
  6. Start Camera when video is required. Start Tool only when an end effector is configured.
  7. Click Start Robot in the lower-left card.

Current Marvin Pro Apex Teleop

4. First Unpacking: Exit the Packing Pose​

Do not Home directly from the packing pose

The robot is delivered with both arms hanging vertically close to the center column. Calling Home directly from this pose can cause a wrist camera to collide with the column. After first unpacking, or whenever the robot has been manually returned to the packing pose, enable drag mode and manually move both arms to the standard zero pose shown below.

Marvin Pro standard zero pose

  1. Confirm that the Robot module is green and that Start Robot has been clicked. Drag mode can only be enabled after the robot reaches Ready state.
  2. Open a terminal and enable drag mode:
source /etc/apex/apex_ros_env.sh
ros2 service call /tj/control/set_drag \
marvin_msgs/srv/Int "{data: 1}"

The command must return success: true. If the service is unavailable or the call fails, do not move the arms. Check the Robot module, robot connection, and Ready state first.

  1. Slowly drag both arms away from the center column and adjust them to the standard zero pose shown above. Maintain safe clearance between the wrist cameras, arms, and center column throughout the movement.
  2. As soon as the adjustment is complete, disable drag mode:
ros2 service call /tj/control/set_drag \
marvin_msgs/srv/Int "{data: 0}"

Continue only after the command returns success: true. Keep the emergency stop within reach throughout the operation. This section does not need to be repeated when the robot has already left the packing pose and its Home path is known to be safe.

5. Enter the Teleoperation Pose​

  1. Confirm that the robot has left the packing pose, both arms are in the standard zero pose, and drag mode is disabled.
  2. Select Impedance Mode.
  3. Click Home and wait until the frontend reports completion and the robot is stable at the teleoperation initial pose. When Home is called through the ROS service, a successful response only means that the trajectory started; continue only after /tj/info/go_home_status reports succeeded.
  4. Set Input Mode to Teleop.

6. Connect the Headset​

Marvin Pro supports Pico and Meta Quest:

Connect the headset cable, open the Apex headset client, and connect to the controller. Confirm the VR state in Apex Teleop, then begin with small motions in a clear workspace.

7. Quick Checks​

SymptomCheck
Cannot connect from the IP fieldIP, subnet, cable, and controller network
Robot does not startE-stop, robot power, controller link, and Robot log
URDF does not follow the robotRobot module and robot model configuration
Teleop unavailableRobot running and Ready state
Headset cannot connectdnsmasq, headset cable, connection IP, and VR state
Camera is blackCamera module, camera initialization, and camera_sources
No teleoperation motionImpedance Mode, Home completion, and Teleop input mode
First startup from the packing poseDo not Home directly; after Robot is Ready, enable drag mode, manually move both arms to the standard zero pose, and disable drag mode
Drag mode cannot be enabledCheck that Robot is running, Start Robot has completed, and /tj/control/set_drag returns success
Home path approaches the center columnStop immediately and use the emergency stop if needed; verify that the robot has left the packing pose, drag mode is disabled, and the starting pose is safe

For further diagnosis, see Apex Teleop logs.