Skip to main content
This page explains how to diagnose issues on your MARS robot by inspecting the running processes.

Connect via SSH

First, SSH into your robot.

Access the OS tmux session

MARS runs its software stack inside a tmux session. To attach to it:
tmux attach
If there are multiple sessions, you can list them with tmux ls and attach to the correct one.
:::note This section is for advanced users familiar with ROS2. If you’re not comfortable with ROS, simply reach out to us on Discord and we’ll help you diagnose the issue. ::: Once inside the tmux session, you’ll see multiple windows or panes, each running a different ROS2 node or process.

Basic tmux navigation

  • Switch windows: Ctrl+b then n (next) or p (previous)
  • List windows: Ctrl+b then w
  • Switch panes: Ctrl+b then arrow keys
  • Scroll up: Ctrl+b then [, then use arrow keys or Page Up/Down. Press q to exit scroll mode.

Finding a problematic node

  1. Cycle through the windows and panes to see which processes are running.
  2. Look for error messages, stack traces, or nodes that have crashed or are restarting.
  3. Use scroll mode to review recent output and identify what went wrong.

Common Hardware Issues

Arm Goes Limp / Servos Not Holding Position

If the arm loses tension and goes limp (servos not holding their position), this is typically a servo communication issue that can be resolved by rebooting the arm: Option 1: Reboot via the App (Recommended)
  1. Open the Innate Controller App
  2. Go to Configuration
  3. Select the Dev tab
  4. Tap Reboot Arm
Note: Place the arm in a resting position before rebooting. The app will display an image showing the correct arm position.
Option 2: Full Robot Restart
  1. Unplug the robot’s power
  2. Wait a few seconds
  3. Plug it back in
The arm should regain tension and hold position after either of these steps.

Arm Restart Notifications

If the arm encounters an issue during operation (such as a servo communication failure), the app will display a notification prompting you to restart the arm. Follow the notification instructions to recover.

Arm Overload Protection

MARS monitors the arm’s servo load in real-time. If the arm is overloaded (e.g., carrying too heavy of an object or encountering an obstruction), the system will detect this and may reduce torque to protect the servos. If you notice reduced arm performance:
  1. Remove any heavy objects from the gripper
  2. Clear any obstructions
  3. Reboot the arm via the app if needed

iOS Arm Control

iOS Users: The leader arm connects via USB-C and is not compatible with iOS devices (for now). If you have an iPhone, please reach out to Innate on Discord to get access to a free Android phone for leader arm teleoperation.

Low Battery Warning

The app displays a pulsing Battery Low warning when the robot’s battery voltage drops below 10.53V. When you see this warning:
  1. Stop any active tasks
  2. Park the robot in a safe place
  3. Connect the charger
Avoid running system updates or intensive operations when the battery is low.

Contact us

When you identify an issue, please reach out to us on Discord with:
  • The name of the node or process that is failing
  • Any error messages or stack traces you see
  • What you were doing when the issue occurred
We’ll help you resolve it as quickly as possible.