Magni Reaches Dangerous Speeds

Hi folks,

I’ve come across this now twice today (and in the past). If I start magni, and for some reason magni-base fails to run correctly. I try to move forward and no response. I then checked the odom “rostopic echo odom”, and nothing is being sent.

When magni is in this state, I then went to restart it using:

sudo systemctl restart magni-base

magni then (twice today) went speeding across my room (it must be max speed, as it was quick!!), as if it had built up all the commands I was sending it, and then released them all at once!!

Has anyone seen this? About the most dangerous thing I’ve seen so far with this robot, if it was to hit anyone or anything in this state.

Thanks in advance,

A year ago or so there were both hardware and firmware and even software changes that had gone into place to avoid high speed situations.

What you are describing matches one particular bug very recently fixed because you are moving the robot prior to our motor node starting so it then tries to ‘catch up’ with firmware odometry that has been clicking away on it’s own prior to motor node starting. I can tell your motor node had not started yet because only after motor node is running do we get things in /odom topic.

Please can you refresh my memory with these things:

  • MCB board version. See it in white text on left edge of board. If you do not see that then it tells me it is rev 5.1 or earlier.
  • Firmware version. This can be seen using 'rostopic echo /diagnostics and hit ctrl C after a few seconds then look for Firmware version. Also Firmware datecode please.

I will look up the defect which I only solved in last couple months.

Thanks for the report, I’ll get the fix info back to you.

Hi Mark,

Thank you for the quick response.

I’ve added a check to ensure “odom” is publishing before I attempt to publish to cmd_vel now. Is this the best way to check the motor is ready or is there a different topic?

Just out of curiousity, what is happening? Are the commands building up in the cmd_vel ROS topic, or is it somewhere else? We are only ever asking Magni to move at a very slow speed: 0.15m/s

MCB board version: White Label on left edge is blank (I believe it is a newer board, as it was recently received).

Firmware version: 37
Firmware date: 20200620


Also Mark, just want to ensure my magni-base launch file is outdated… what is the best launch file to start (from the magni-base systemd)?

roslaunch magni_bringup base.launch
roslaunch magni_bringup core.launch
roslaunch magni_demos teleop.launch

The telop.launch file seems to be the only one that works. Was just trying to minimize the required nodes that are running. I really only need the motor at the moment.


I think you may be looking at the right side of the board where there is a small white area for special notes. The Rev of the board would be to the left as you look at the front of the magni.
It is in actual ‘silkscreen’ and not a manually written not.
Unless I MAJOR LEAGUE messed up my notes I feel we (I) sent you a rev 5.3 board with serial number 4032SM210 on the white tag in middle, near center of board but low. It would be rev 5.3

Your problem is use of v37 and I am sorry I did not re-program the board it seems when i sent it to you.

Get v40_20201209_enc.cyacd from

Then follow instructions for direct from file download here, near the end of this page:

Thanks Mark - I can confirm the board number is 5.3.

We will upgrade the software.

Just to confirm - is the ‘odom’ topic, the best way to confirm the motor has started?

Yes. When you see publications to /odom the motor node is running and the controller is getting feedback to know the encoder position. /odom is the most appropriate here but a bit verbose.

You can learn about each topic using ‘rostopic info /odom’ or other topics. In this case we get:
Type: nav_msgs/Odometry


Another really good ROS command to avoid massive console output but to see regular activity is going on is in this case ‘rostopic hz /odom’ This is in fact one of my favorites, not verbose but tells if a topic is being published to and at what average rate.

There are other less verbose topics like /motor_power_active
and more ‘interesting ones’ like /battery_state
Both of these are also from motor node and only become active after MCB is setup.