AD-R1M Troubleshooting

This page provides solutions to common issues encountered when operating the AD-R1M robot.

Remote Control Issues

Radio Connection Problems

Problem

Solution

No bars on RC screen

Check robot is powered on and services are running: docker ps

“NO DATA” on telemetry

Verify CRSF transceiver power (GPIO 24), check /dev/ttyCRSF device

RxBt blinking

Wait for ROS2 stack to fully initialize (~30 seconds)

Robot doesn’t move when armed

Check killswitch position, verify robot service is running: docker logs ad-r1m-robot-1

Telemetry Status Interpretation

Status

RxBt Display

Description

Radio not connected

“NO DATA” message

No communication with robot

Connected, no ROS 2 data yet

RxBt blank or blinking

Connection established but ROS2 stack not publishing

Fully functional

RxBt shows robot system voltage

Full telemetry operational (e.g., “12.3V”)

Caution

Ensure RxBt (robot battery voltage) does not drop below 9V during operation.

CAN Interface Issues

If motor control fails, check the CAN interface:

ip link show can0
candump can0

Reset CAN interface:

sudo systemctl restart ad-r1m-slcan.service

Common CAN Error Messages

Error

Solution

can0: link is not ready

Run sudo systemctl restart ad-r1m-slcan.service to reinitialize CAN interface

No CAN devices found

Check USB-CAN adapter connection, verify slcand service is running

CANopen initialization timeout

Restart the robot service: docker compose --env-file ad-r1m.env restart robot

IMU Issues

IMU Not Publishing

Verify IIO device is accessible:

iio_info -u ip:localhost | grep adis16470

Check sampling frequency:

iio_attr -u ip:localhost -d adis16470 sampling_frequency

Common IMU Issues

Problem

Solution

No adis16470 device found

Check SPI connection, verify kernel module is loaded: lsmod | grep adis

IMU data frozen

Restart iiod service: sudo systemctl restart iiod

High noise in IMU readings

Check mounting, ensure IMU is securely attached to chassis

ToF Camera Issues

Camera Not Working

Ensure media configuration script has run:

sudo systemctl status media-config.service

Check depth image topic (from inside a container):

docker exec -it ad-r1m-tof-1 bash -c "ros2 topic hz /cam1/depth_image"

Common Camera Issues

Problem

Solution

No depth image published

Run ~/Workspace/media_config_16D_16AB_8C.sh and restart tof container

Camera shows all zeros

Check USB connection, verify camera is powered

Low frame rate

Check CPU usage, reduce resolution if needed

/scan empty

Verify depthimage_to_laserscan node is running: docker logs ad-r1m-tof-1

Docker Container Issues

Container Not Starting

Check container logs:

docker logs ad-r1m-robot-1

Verify services are running:

docker ps

Common Docker Issues

Problem

Solution

Container exits immediately

Check logs for error messages, verify device permissions

Permission denied errors

Ensure proper Docker flags (--privileged, --cap-add)

Network issues between containers

Verify --network=host is set

Container can’t access devices

Check --device flags, verify device exists on host

Restart Services

# Restart specific service
docker compose --env-file ad-r1m.env restart robot

# Restart all services
docker compose --env-file ad-r1m.env down && docker compose --env-file ad-r1m.env up -d

# Stop all containers
docker stop $(docker ps -q)

# Full system restart
sudo reboot

Transform (TF) Issues

Check TF Tree

docker exec -it ad-r1m-robot-1 ros2 run tf2_tools view_frames

This generates a PDF showing the complete transform tree. Copy it from the container:

docker cp ad-r1m-robot-1:/ros2_ws/frames.pdf .

Common TF Errors

Error

Solution

Could not transform...

Check if the publishing node is running

Lookup would require extrapolation into the past

Time synchronization issue, check NTP or use use_sim_time parameter

map frame not found

Start localization or mapping node

Duplicate TF publishers

Ensure only one node publishes each transform

Network and Communication Issues

RViz Can’t Connect to Robot

  1. Check network connectivity:

    ping ad-r1m-0.local
    
  2. Verify Zenoh router is running:

    docker logs ad-r1m-zenoh_router-1
    
  3. Check RMW implementation:

    echo $RMW_IMPLEMENTATION
    

Topics Not Visible

Run ROS2 commands from inside a container on the robot:

# List all topics
docker exec -it ad-r1m-robot-1 ros2 topic list

# Check if node is publishing
docker exec -it ad-r1m-robot-1 ros2 topic info /topic_name

# Check topic frequency
docker exec -it ad-r1m-robot-1 ros2 topic hz /topic_name

Power and Battery Issues

Problem

Solution

Robot won’t power on

Press silver button to enable battery, then press green button to start

Robot shuts down unexpectedly

Battery voltage too low (below 9V), charge immediately

LED not blinking

Check battery connection, verify BMS is functioning

Motors not responding after power-on

Wait for full boot sequence (~45s), check bringup script status

System Recovery

Full System Reset

If the robot is unresponsive:

  1. SSH into the robot (if possible):

    ssh analog@ad-r1m.local
    sudo reboot
    
  2. If SSH fails, power cycle the robot:

    • Press silver button to cut battery power

    • Wait 10 seconds

    • Press silver button again to enable battery

    • Press green button to restart

Reflashing the SD Card

If the system is corrupted:

  1. Download the latest AD-R1M image

  2. Flash to SD card using Raspberry Pi Imager or dd

  3. Boot the robot with the new SD card

  4. Reconfigure WiFi and hostname as needed

Getting Help

If you cannot resolve an issue:

  1. Collect logs:

    docker compose --env-file ad-r1m.env logs > robot_logs.txt
    
  2. Capture system state:

    docker exec -it ad-r1m-robot-1 ros2 topic list > topics.txt
    docker exec -it ad-r1m-robot-1 ros2 node list > nodes.txt
    
  3. Post on Engineer Zone: Visit the ADI Engineer Zone with your logs and a description of the issue