Mechanical Bumpers ...
 
Notifications
Clear all

Mechanical Bumpers for Robot base


robotBuilder
(@robotbuilder)
Prominent Member
Joined: 2 years ago
Posts: 881
Topic starter  

So how to determine if the robot has actually hit something? After playing around with dead reckoning navigation using the encoders this was the next task to resolve. I figure you need mechanical bumpers of some sort. It needed to know if it hit a wall on the left or right corner or if it was a direct or nearly direct hit. A soft foam surface would probably be required to be glued on the bumper to prevent damage to walls.

This is a close up of the mechanism made out of a bolt and spring and the bumper out of kiln dried wood.

bumper3

Here is a view of the whole robot base hitting a wall at an angle. I tipped the base upside down in one image to show the mechanisms.

bumper1

Here is a view of the whole robot base hitting a wall directly (Both switches on).

bumper2

Quote
THRandell
(@thrandell)
Eminent Member
Joined: 3 months ago
Posts: 23
 

Hi robotBuilder,

Your bumper design reminds me of one I saw in the book “Sensors for Mobile Robots”.  That one had a 360 degree bumper.  The way he solved the problem with the corners was to cut a slice out of each corner at a 45 degree angle to the sides.  The corner was also a “floating” bumper like the sides, but when it collided with something the corner would push into one of the sides which would make contact with the switch nearest the corner. Clear as mud?  Anyway it looked pretty clever and it was made out of wood like your design.


ReplyQuote
robotBuilder
(@robotbuilder)
Prominent Member
Joined: 2 years ago
Posts: 881
Topic starter  

@thrandell

The bumper was over complicated and mechanically unreliable. If the switches failed the base would just keep trying to push through the wall. My current robot base, which I haven't worked on for some time now, is a robotic vacuum cleaner that comes with a simple bumper arrangement.  Another extra test for physical contact might be monitoring the motor currents or encoder outputs.  A reliable robotic base monitors its own physical states rather than carry on as if everything was working properly.  My real interest is software as I don't have a workshop and tools for building things.

 


ReplyQuote
THRandell
(@thrandell)
Eminent Member
Joined: 3 months ago
Posts: 23
 

I’m putting together a robot with a mechanical bumper and I was thinking the same thing about having some other ways to check for a collision when the bumper gives a false negative.  I imagine three situations:

1) the robot collides with something and the wheels don’t turn;

2) the robot collides with something and the wheels spin; and

3) the robot moves whatever it comes in contact with.

I hoping my bumper design covers situation 1, but I’m not sure about what approach to take with the other two cases. How might you monitor a robot's phyisical state?  Collect historical sensor data?  I suppose that if my indoor robot doesn't turn in x minutes then it might be snagged on something... 

 


ReplyQuote
robotBuilder
(@robotbuilder)
Prominent Member
Joined: 2 years ago
Posts: 881
Topic starter  

@thrandell

I suppose that if my indoor robot doesn't turn in x minutes then it might be snagged on something...

A lot of answers and problems are found when you actually build a robot base and start experimenting.

Ideally over time you can add more sophisticated sensors like vision that can "see" what is happening to supplement physical contact. Of course the hard part is the software to make use of that information.

 

This post was modified 3 months ago by robotBuilder

ReplyQuote
triform
(@triform)
Reputable Member
Joined: 2 years ago
Posts: 339
 

@thrandell

Posted by: @thrandell

1) the robot collides with something and the wheels don’t turn;

Unfortunately, this rarely happens 🙁  The wheels almost always turn.

Posted by: @thrandell

3) the robot moves whatever it comes in contact with.

For smaller bots, this usually makes it skew the current path or stop on one side or spin a bit. 

You can use the encoders and/or a current sensor to see if a wheel is going faster or slower than expected by measuring the current draw of a motor, or some gauging of how the encoder is changing based on some threshold range you expect. 

I use bumpers as a "last defense" mechanism, and do a halt and reverse to try to get back on course again.

 


ReplyQuote
THRandell
(@thrandell)
Eminent Member
Joined: 3 months ago
Posts: 23
 

  Here is my spin on an instrumented mechanical bumper.  If I had it to do over again I don’t think that I’d go the 3D-printer route.  Even though the bumper has a textured surface it’s still pretty flexible and on top of that it’s out of round.  It’s held in place with piano wire which works surprisingly well.  I found a circuit in a book by Jones and Flynn which let me tie all three micro-switches to one analog pin.  In theory when the front two switches close I get a fourth voltage to indicate a front collision, but in practice the bumper seems to be a little too flexible and it just closes one switch.

L&CLowerDeck
L&CBumper
L&CSwitch
L&CNoBump
L&CLeftBump

 


ReplyQuote
robotBuilder
(@robotbuilder)
Prominent Member
Joined: 2 years ago
Posts: 881
Topic starter  

@thrandell

With a round base you don't really need to reverse, simply rotate.

This is the bumper arrangement of the Deebot base I am using. The bumper switches also act as springs to hold the bumper out. There are IR windows in the bumper for the IR proximity sensors.

bumper

I imagined I could make one myself out of two round plastic containers with one being slightly larger than the other. The larger one could be cut to make the bumper.

baseAndBumper
SpringAndSwitches

 


ReplyQuote
robotBuilder
(@robotbuilder)
Prominent Member
Joined: 2 years ago
Posts: 881
Topic starter  

@thrandell

I found a circuit in a book by Jones and Flynn which let me tie all three micro-switches to one analog pin.

I guess it is a digital to analog conversion. Each switch delivers a current via its own binary weighted resister value. You could probably use a small DAC IC to take up less space. You might monitor say eight switches. I assume software is used to convert the analog input back to a binary number equivalent where each bit represents the on/off state of a switch?

 

This post was modified 3 months ago 2 times by robotBuilder

ReplyQuote
THRandell
(@thrandell)
Eminent Member
Joined: 3 months ago
Posts: 23
 

@robotbuilder

Wow, thanks for uploading your diagrams and photo.  It's great to see how a commercially successful robot is built.  I may try that central spring idea.  The IR windows sound intriguing.  Is that just a clear plastic window in the bumper?  I got my robot running today doing obstacle avoidance and I like having the IR sensors low to the ground.  

I also thought that I could fashion a bumper out of some food grade container made out of HDPE.  I may try that one yet if I can't find some way to heat form a sheet of plastic.

As far as the switch circuit goes, electronics is definitely my weakest link and you lost me with "binary weighted resister value".  With 5 volts applied by my Arduino clone, I use an analogRead(A0) to read the voltage  The 10-bit ADC turns that voltage into a value between 0 and 1023.  In my code I'm looking for bands of values that indicate which switch was closed.  A trial and error approach for sure.  I uploaded a photo that has the voltages I found when I breadboarded the resistors.

bumperCircuit

 

 


ReplyQuote
robotBuilder
(@robotbuilder)
Prominent Member
Joined: 2 years ago
Posts: 881
Topic starter  

@thrandell

Commercial products have to actually work and be trouble free as possible.
The windows are cut out of the bumper and a shaded transparent sheet on the outside.

IR Windows
shadedSheetOnBumper

 

There is some other sensor on the bumper itself which maybe someone knows what it is?

mysteryOnBumper

I got my robot running today doing obstacle avoidance and I like having the IR sensors low to the ground.

I am always interested in other people's robots and the physical, electronic and code details 🙂

 

This post was modified 3 months ago by robotBuilder

ReplyQuote
THRandell
(@thrandell)
Eminent Member
Joined: 3 months ago
Posts: 23
 

@robotbuilder

Well, I have a mechanical problem to solve before I can get back to the programming.  I'll update you when I've finished it.

 


ReplyQuote
robotBuilder
(@robotbuilder)
Prominent Member
Joined: 2 years ago
Posts: 881
Topic starter  

Looking at it again I think it is probably the IR remote control sensor.

mysteryOnBumper
This post was modified 3 months ago by robotBuilder

ReplyQuote
THRandell
(@thrandell)
Eminent Member
Joined: 3 months ago
Posts: 23
 

In my quest for a better circular bumper I tried heat forming a piece of HDPE around a clay pot I raided from the garden.  I used a heat gun on the low setting and after about 5 minutes, wrapped it around the pot and let it cool for about an hour and a half.  It worked great.  There was some spring back so I attached the ends together with some M3 bolts.  I spent more time looking for a large pot than I did shaping it.

If anyone is interested the HDPE was 1/8” by 2.5” by 4’ and I picked it up at McMaster-Carr.

10inchBumper

ReplyQuote