Collision detection / sensitive bumper



I’m back trying to make some test with the magni. however, where I intend to use it, there is pedestrian traffic.
One feedback I had was to put in place some collision detection. not obstacle detection. not obstacle avoidance.

The typical scenario is that the magni moves around on its mission, it then detects an obstacle that should be’s actually a person turned opposite of magni, current speaking in an aisle with someone else. Since the environment is kinda noisy, none of those two people noticed that a robot just got nearby and is currently waiting for the “obstacle” to go away.
when the talk is over, that person turns around and rushes to its next destination, and as shes leaves, she just bumps into a non-moving magni.

There are several options to prevent this scenario. But here prevention is off-topic. Here, i want to detect that a collision has happened, in order to letter ask a user to “allow to resume operations”.

I have been requested to make some sort of a sensitive bumper. something made of foam that could somehow sense if something lightly bumped into it.

how would you make that?
Can some of you guys suggest a reference to buy that would fit the magni?


Catalog of user customer content

I do not have a good solution for a bump sensor but wish to comment on 2 GPIO inputs that could be of value once you somehow come up with the switches and mechanical solution. I could guess at assorted uses of micro switches or ‘cat wiskers’ but I will abstain.

The information below I have partially gathered from another team member, Rohan who posts on this forum quite a bit.

Look for and perhaps use P704 and P705 jacks after disabling the usage of these by Magni.
Normally those 2 jacks and their Magni usage AND two other GPIO pins used to drive LEDs that exist on the Magni ‘Sonar Board’ are controlled by Magni.

GPIO Pin Comment
5 27 Status LED on Sonar board
25 22 Status LED on Sonar board.
6 31 P704 pin 2. Ground this to do a shutdown.
13 33 P705 pin 2. This is for PiFi use and only monitored if PiFi is running.

For P704 and P705 pin 1 is ground and short to pin 2 to ‘close’ or make that GPIO line low.
Pin 3 of those jacks is 3.3 volts if you need that for your sensors.
Pin 2 of P704 and P705 goes directly to Raspberry PI GPIO so do NOT connect to 5V!

To use these as GPIO you must edit /etc/pifi/pifi.conf as follows
status_led: None
button_device_name: None
We feel pifi would still work but you would not get LED indication or be able to use the button that is used with PiFi

To be able to use the 2 LEDs on the sonar board OR use GPIO 5 and 25 you would also need to edit /boot/config.txt and comment out ‘dtoverlay=ubiquity-leds-buttons’

You would then be free to use these 4 GPIO lines for your purposes


There are lots of ways to do this - the simplest solution would be to attach a mechanical switch to some of the available GPIO. The GPIO can be programmed to accept a high priority interrupt which could, of course, send an emergency stop to the wheels.


I understand how to integrate such a “bumper” on the magni now.

The approach you describe is what i would tend to use. However, since any serious proof of concept would require to end up in a location where pedestrian traffic is involved in a professional environment where safety, regulations and legal risk do apply. Then, like it or not, the issue of certification might arise. I do not intend to have one of my prototype solution to be say “CE-certified” (certified for what anyway?)

However, it would make my life so much easier if i could just claim that the safety features of the vehicule use “state of the art industrial safety faetures”. I have been told a typical “certified” lidar from SICK can easily cost you about 8000€. I would rather aim for something maybe simplier but a good serious brand from germany.
The typical scenario would be

decision maker looking at the magni in pilot phase and evaluating his risk of accident/legal issues: “hey, how do we know this thing wont hurt any employee under my responsibility?”
me: “dont worry we bought safety from Siemens/GE/Schneider/Sick/”
=> end of story :smiley: :smiley: :smiley:

safety is typically the area where nobody wants to hear anything that sounds "maker"

@brunolfm => what do you use as safety features for your own usecase ?


@alexis im about to pass to the final warehouse and make the final tests on the magni, i believe i will not have that problem because im puting the magni running sooooo slower that it cant hurt anyone!

Its gonna be like linear_velocity 0.2 and linear_acceleration 0.1 and when you put this values on a 5 meter range the robot is really slow!

I know that maybe im voiding some legal rules but i will risk it :slight_smile:

The magni works pretty well avoiding colision againts solid objects like boxes or walls, but on persons legs the sonar is pretty bad and 50% os the times it fails!

My warehouse will have a “route” with lines on the floor of 1.3meters, and the people know that cant stay on that area… that area is reserved for the robot movements!

My robot will do 75meters run for each side with 5meters stop of 1second for localization accuracy purposes, and some others stops of 3 minutes for loading purposes!


Actually I believe so long as you keep the speed below 250mm /second even without sensors at all the robot is within standard. ISO10218 specifies this limit.

Couple of caveats

  • You need to avoid pinch points and other elements of the standard
  • Please seek proper external and independent advice on this one


As followup, the question of the GPIO lines has come up several times.

We have added this page to our ‘Learn’ documents: