Reachy 2023's Mobile Base does not move

Hi everyone,

recently, we have been trying to use Reachy’s mobile base. However, we were not able to make it move. The mobile base is properly connected as we can reach the mobile base and return its battery volatage etc. with the following:

reachy_mobile = ReachySDK(host='localhost', with_mobile_base=True)

When trying to control the mobile base, however, either via the goto command:

reachy_mobile.mobile_base.goto(x=0.5, y=0.0, theta=0.0)

or using the controller, nothing happens. There aren’t even exceptions, errors, or warnings in the terminal.

In case of the controller movement, using the script joy_controller.py seems to generally work as the terminal output indicates that the input from the joystick is received. Still, however, no movement by the mobile base.

Thanks in advance for any help on this!

Hi @RicoGuerra,

Could you provide the logs of the mobile base service?

systemctl --user status reachy_mobile_base.service > logs.txt

Thanks!

Hi @Simon! Thanks for the response. Here are the logs:

reachy_mobile_base.service - Mobile base SDK server service
Loaded: loaded (/home/reachy/.config/systemd/user/reachy_mobile_base.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2026-01-05 14:51:56 CET; 10min ago
Process: 38179 ExecStartPre=/bin/sleep 10 (code=exited, status=0/SUCCESS)
Main PID: 38608 (bash)
Tasks: 81 (limit: 9050)
Memory: 130.7M
CPU: 6min 11.468s
CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/reachy_mobile_base.service
├─38608 /usr/bin/bash /home/reachy/reachy_ws/src/reachy_2023/mobile_base_controller/mobile_base_sdk_server/launch_mobile_base.bash
├─38700 /usr/bin/python3 /opt/ros/humble/bin/ros2 launch mobile_base_sdk_server run_mobile_base_sdk_server_and_hal.launch.py
├─38721 /home/reachy/reachy_ws/install/rplidar_ros2/lib/rplidar_ros2/rplidar_scan_publisher --ros-args -r __node:=rplidar_scan_publisher --params-file /tmp/launch_params_qitoi37r
├─38723 /usr/bin/python3 /home/reachy/reachy_ws/install/zuuu_hal/lib/zuuu_hal/hal --ros-args -r __node:=zuuu_hal --params-file /home/reachy/reachy_ws/install/zuuu_hal/share/zuuu_hal/config/params.yaml
├─38725 /usr/bin/python3 /home/reachy/reachy_ws/install/mobile_base_sdk_server/lib/mobile_base_sdk_server/mobile_base_sdk_server --ros-args
└─38950 /usr/bin/python3 -c “from ros2cli.daemon.daemonize import main; main()” --name ros2-daemon --ros-domain-id 29 --rmw-implementation rmw_cyclonedds_cpp

Jan 05 14:51:46 reachy-2023-R0029 systemd[981]: Starting Mobile base SDK server service…
Jan 05 14:51:56 reachy-2023-R0029 systemd[981]: Started Mobile base SDK server service.
Jan 05 14:51:57 reachy-2023-R0029 reachy_mobile_base[38608]: Starting mobile base launch file.
Jan 05 14:51:57 reachy-2023-R0029 reachy_mobile_base[38700]: [INFO] [launch]: All log files can be found below /home/reachy/.ros/log/2026-01-05-14-51-57-662598-reachy-2023-R0029-38700
Jan 05 14:51:57 reachy-2023-R0029 reachy_mobile_base[38700]: [INFO] [launch]: Default logging verbosity is set to INFO
Jan 05 14:51:57 reachy-2023-R0029 reachy_mobile_base[38700]: [INFO] [rplidar_scan_publisher-1]: process started with pid [38721]
Jan 05 14:51:57 reachy-2023-R0029 reachy_mobile_base[38700]: [INFO] [hal-2]: process started with pid [38723]
Jan 05 14:51:57 reachy-2023-R0029 reachy_mobile_base[38700]: [INFO] [mobile_base_sdk_server-3]: process started with pid [38725]
Jan 05 14:51:57 reachy-2023-R0029 reachy_mobile_base[38700]: [rplidar_scan_publisher-1] [INFO] [1767621117.762917569] [rplidar_scan_publisher]: RPLIDAR running on ROS2 package rplidar_ros2.ROS2 SDK Version:1.0.1, RPLIDAR SDK Version:2.0.0
Jan 05 14:51:57 reachy-2023-R0029 reachy_mobile_base[38700]: [rplidar_scan_publisher-1] [INFO] [1767621117.810777714] [rplidar_scan_publisher]: RPLIDAR S/N: 89AFECF8C4E699D5B8EB99F905704715
Jan 05 14:51:57 reachy-2023-R0029 reachy_mobile_base[38700]: [rplidar_scan_publisher-1] [INFO] [1767621117.810843261] [rplidar_scan_publisher]: Firmware Ver: 1.01
Jan 05 14:51:57 reachy-2023-R0029 reachy_mobile_base[38700]: [rplidar_scan_publisher-1] [INFO] [1767621117.810858443] [rplidar_scan_publisher]: Hardware Rev: 18
Jan 05 14:51:57 reachy-2023-R0029 reachy_mobile_base[38700]: [rplidar_scan_publisher-1] [INFO] [1767621117.862028261] [rplidar_scan_publisher]: RPLidar health status : 0
Jan 05 14:51:57 reachy-2023-R0029 reachy_mobile_base[38700]: [rplidar_scan_publisher-1] [INFO] [1767621117.862090759] [rplidar_scan_publisher]: RPLidar health status : OK.
Jan 05 14:51:58 reachy-2023-R0029 reachy_mobile_base[38700]: [rplidar_scan_publisher-1] [INFO] [1767621118.066324500] [rplidar_scan_publisher]: current scan mode: DenseBoost, sample rate: 32 Khz, max_distance: 30.0 m, scan frequency:20.0 Hz,
Jan 05 14:51:58 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621118.480272413] [zuuu_hal]: Starting zuuu_hal!
Jan 05 14:51:58 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621118.484246207] [zuuu_hal]: zuuu version: 1.2
Jan 05 14:51:58 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621118.487225459] [zuuu_hal]: Reading Zuuu’s sensors once…
Jan 05 14:51:58 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621118.504063108] [zuuu_hal]: The maximum PWM value is 20.0% => maximum wheel speed is set to 4.48rad/s
Jan 05 14:51:58 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [WARN] [1767621118.536521309] [zuuu_hal]: Battery voltage LOW (24.3V). Consider recharging. Warning threshold: 24.5V, stop threshold: 23.1V
Jan 05 14:51:58 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [WARN] [1767621118.548604225] [zuuu_hal]: waiting for a LIDAR scan to be read. Discarding all commands…
Jan 05 14:51:58 reachy-2023-R0029 reachy_mobile_base[38700]: [mobile_base_sdk_server-3] [INFO] [1767621118.559722213] [mobile_base_server]: Initialized mobile base server.
Jan 05 14:51:59 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [WARN] [1767621119.051769007] [zuuu_hal]: waiting for a LIDAR scan to be read. Discarding all commands…
Jan 05 14:51:59 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [WARN] [1767621119.553513781] [zuuu_hal]: waiting for a LIDAR scan to be read. Discarding all commands…
Jan 05 14:52:00 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [WARN] [1767621120.055017722] [zuuu_hal]: waiting for a LIDAR scan to be read. Discarding all commands…
Jan 05 14:52:00 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [WARN] [1767621120.557357701] [zuuu_hal]: waiting for a LIDAR scan to be read. Discarding all commands…
Jan 05 14:52:01 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621121.064165488] [zuuu_hal]: => Zuuu HAL up and running! **
Jan 05 14:52:03 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621123.238726238] [zuuu_hal]: Requested mode change to :‘CMD_VEL’
Jan 05 14:52:03 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621123.239970053] [zuuu_hal]: OK
Jan 05 14:52:03 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621123.241485287] [zuuu_hal]: Requested to reset the odometry frame
Jan 05 14:52:03 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621123.267274971] [zuuu_hal]: Requested go_to: x=0.0m, y=0.0m, theta=1.5707963705062866rad
Jan 05 14:52:58 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [WARN] [1767621178.556676778] [zuuu_hal]: Battery voltage LOW (24.2V). Consider recharging. Warning threshold: 24.5V, stop threshold: 23.1V
Jan 05 14:53:58 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [WARN] [1767621238.590624224] [zuuu_hal]: Battery voltage LOW (24.2V). Consider recharging. Warning threshold: 24.5V, stop threshold: 23.1V
Jan 05 14:54:58 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [WARN] [1767621298.556989944] [zuuu_hal]: Battery voltage LOW (24.1V). Consider recharging. Warning threshold: 24.5V, stop threshold: 23.1V
Jan 05 14:55:58 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [WARN] [1767621358.555711823] [zuuu_hal]: Battery voltage LOW (24.1V). Consider recharging. Warning threshold: 24.5V, stop threshold: 23.1V
Jan 05 14:56:58 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [WARN] [1767621418.558691702] [zuuu_hal]: Battery voltage LOW (24.1V). Consider recharging. Warning threshold: 24.5V, stop threshold: 23.1V
Jan 05 14:57:50 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621470.529820219] [zuuu_hal]: Requested mode change to :‘CMD_VEL’
Jan 05 14:57:50 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621470.530634177] [zuuu_hal]: OK
Jan 05 14:57:50 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621470.531412988] [zuuu_hal]: Requested to reset the odometry frame
Jan 05 14:57:58 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [WARN] [1767621478.562014745] [zuuu_hal]: Battery voltage LOW (24.1V). Consider recharging. Warning threshold: 24.5V, stop threshold: 23.1V
Jan 05 14:58:05 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621485.558278761] [zuuu_hal]: Requested mode change to :‘CMD_VEL’
Jan 05 14:58:05 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621485.559379969] [zuuu_hal]: OK
Jan 05 14:58:05 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621485.561289440] [zuuu_hal]: Requested to reset the odometry frame
Jan 05 14:58:05 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621485.602721643] [zuuu_hal]: Requested go_to: x=0.0m, y=0.0m, theta=1.5707963705062866rad
Jan 05 14:58:35 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621515.966069710] [zuuu_hal]: Requested mode change to :‘CMD_VEL’
Jan 05 14:58:35 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621515.967061414] [zuuu_hal]: OK
Jan 05 14:58:35 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621515.968180502] [zuuu_hal]: Requested to reset the odometry frame
Jan 05 14:58:35 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621515.993965416] [zuuu_hal]: Requested go_to: x=0.10000000149011612m, y=0.0m, theta=0.0rad
Jan 05 14:58:42 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621522.078816772] [zuuu_hal]: Requested mode change to :‘CMD_VEL’
Jan 05 14:58:42 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621522.079677977] [zuuu_hal]: OK
Jan 05 14:58:42 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621522.080804409] [zuuu_hal]: Requested to reset the odometry frame
Jan 05 14:58:42 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621522.111087298] [zuuu_hal]: Requested go_to: x=0.10000000149011612m, y=0.0m, theta=0.0rad
Jan 05 14:58:50 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621530.984144799] [zuuu_hal]: Requested mode change to :‘CMD_VEL’
Jan 05 14:58:50 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621530.984846110] [zuuu_hal]: OK
Jan 05 14:58:50 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621530.985682651] [zuuu_hal]: Requested to reset the odometry frame
Jan 05 14:58:51 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621531.011537839] [zuuu_hal]: Requested go_to: x=0.5m, y=0.0m, theta=0.0rad
Jan 05 14:58:58 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [WARN] [1767621538.583152099] [zuuu_hal]: Battery voltage LOW (24.1V). Consider recharging. Warning threshold: 24.5V, stop threshold: 23.1V
Jan 05 14:59:14 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621554.231632589] [zuuu_hal]: Requested mode change to :‘CMD_VEL’
Jan 05 14:59:14 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621554.232234780] [zuuu_hal]: OK
Jan 05 14:59:14 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621554.233429090] [zuuu_hal]: Requested to reset the odometry frame
Jan 05 14:59:14 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621554.260411443] [zuuu_hal]: Requested go_to: x=1.0m, y=0.0m, theta=0.0rad
Jan 05 14:59:25 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621565.863346599] [zuuu_hal]: Requested mode change to :‘CMD_VEL’
Jan 05 14:59:25 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621565.864410730] [zuuu_hal]: OK
Jan 05 14:59:25 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621565.877941499] [zuuu_hal]: Requested to reset the odometry frame
Jan 05 14:59:25 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621565.904030795] [zuuu_hal]: Requested go_to: x=0.0m, y=1.0m, theta=0.0rad
Jan 05 14:59:58 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [WARN] [1767621598.557590859] [zuuu_hal]: Battery voltage LOW (23.9V). Consider recharging. Warning threshold: 24.5V, stop threshold: 23.1V
Jan 05 15:00:12 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621612.724711185] [zuuu_hal]: Requested mode change to :‘CMD_VEL’
Jan 05 15:00:12 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621612.725220574] [zuuu_hal]: OK
Jan 05 15:00:12 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621612.737992757] [zuuu_hal]: Requested to reset the odometry frame
Jan 05 15:00:12 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621612.763585054] [zuuu_hal]: Requested go_to: x=0.0m, y=1.0m, theta=0.0rad
Jan 05 15:00:27 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621627.510721978] [zuuu_hal]: Requested mode change to :‘CMD_VEL’
Jan 05 15:00:27 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621627.512725051] [zuuu_hal]: OK
Jan 05 15:00:27 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621627.522616383] [zuuu_hal]: Requested to reset the odometry frame
Jan 05 15:00:27 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621627.600295981] [zuuu_hal]: Requested go_to: x=1.0m, y=0.0m, theta=0.0rad
Jan 05 15:00:43 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621643.169243949] [zuuu_hal]: Requested mode change to :‘CMD_VEL’
Jan 05 15:00:43 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621643.169975534] [zuuu_hal]: OK
Jan 05 15:00:43 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621643.171414677] [zuuu_hal]: Requested to reset the odometry frame
Jan 05 15:00:43 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621643.199902379] [zuuu_hal]: Requested go_to: x=0.0m, y=0.0m, theta=-0.7853981852531433rad
Jan 05 15:00:58 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [WARN] [1767621658.556795501] [zuuu_hal]: Battery voltage LOW (24.1V). Consider recharging. Warning threshold: 24.5V, stop threshold: 23.1V
Jan 05 15:01:58 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [WARN] [1767621718.564311288] [zuuu_hal]: Battery voltage LOW (24.1V). Consider recharging. Warning threshold: 24.5V, stop threshold: 23.1V
Jan 05 15:02:06 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621726.663625256] [zuuu_hal]: Requested mode change to :‘CMD_VEL’
Jan 05 15:02:06 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621726.664167961] [zuuu_hal]: OK
Jan 05 15:02:06 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621726.665288935] [zuuu_hal]: Requested to reset the odometry frame
Jan 05 15:02:06 reachy-2023-R0029 reachy_mobile_base[38700]: [hal-2] [INFO] [1767621726.695070502] [zuuu_hal]: Requested go_to: x=1.0m, y=1.0m, theta=0.0rad

Moreover, when trying it out a few more times, I realised that rotational motion works, but translational does not.