Let's Make Robots!

Free Range Robots (and hallways)

Uff-da... So I have pulled the training wheels off of Walter and am letting him rove around sans fences. I have actually had great luck with pre-solving a lot of problems (table legs and driving under things) but still I am running into a few problems.

I ask this as an open question.

What is a hallway to a robot? --We all know the right-left-right-left-right-left problem with corners and now, I am finding the same with hallways but instead, with my outward shooting side (keep away from the wall) sensors. Not to mention, if it is a dead end, it is continuing to follow standard code, turning away from the obsticle when it gets to the end thus leading to a 1/4 turn away, finding it just turned into a wall and backing only to find its ass hitting the other wall. --Here are some senerios --tell me what you think.

Walter_Autodrive_Update.jpg

AttachmentSize
Same as picture hi-res.jpg2.24 MB

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

insense and a smoke detector

slanted floors and a tilt detector

singing wife and a microphone

wooden floors and a groove sensor

LMR and a bull detector

I don't think you are going to get that close to "free range" with a set of micro-processors.

For eample, this room here has a big table a several upright chairs next to it. I know they are table and chairs because I've seen many other examples and these fit my stored pattern. So, this might be the dining room. Experience tells me that if there's a cupboard here it will contain plates, glassware, cutlery and possibly alcoholic drinks. It probably won't contain tools for fixing the car or a toilet.

Start with baby steps. Painting "room names" on the ceiling isn't really cheating. I use the table and chairs to recognise the dining room, the bot uses a glyph. We both have to decide if it's where we want to be, and if not how do we get out?

I know of at least one person who has IR reflective paint on her ceilings, each room has it's own encoded mark (I think just inside the doorway). She may be using a camera-based vision system to decode it. The marks are very similar to barcodes, but only visible when an IR light is shined at them.

I think I saw that somewhere. The code was on the ceiling. No not here. A hospital or something.

The ceiling has the advantage of never getting blocked by whatever.

But almost as priceless: http://letsmakerobots.com/node/12538#comment-35991.

Stargazer system by Hagisonic. The ceiling is adorned with these:

hagisonic-stargazer-landmark-d1.jpg

A camera on the bot sees them using its own IR light. $1000 per bot. I bet LMR can beat that.

Better price than Evolution Robotics' Northstar system. Although northstar's $1800 price tag is for the dev kit. It must be significantly cheaper in bulk since the Rovio uses it and comes in around $200 nowadays.

could be solved by matching maybe 90%, having set points in a node to measure from. It could possibly work by measuring the length and width of a room when it first enters it, if it moves so that it is in the middle of the door way then moves 1 meter into the room thid would gie it a standard point to measure from in each room. It could then  measures the distance in front of it and adds the meter it has already traveled to give a length, then measures the distance left and right to get a width of the room for the first part of it, this would give it a start point. It could then grid this out with grid lines 10cm appart.it then moves to another corner to take the measurements again, if they are within 10% of the first results then it would be safe to assume that the measurements are of the room in full without any obsticles, if not then it would have to measure it from all of the corners of the room till it had managed to work out the right size, this could get complicated. 

If there were a lot of obsticles and a lot of mismatching measurements then it would have to have some way of taking the masurements of the obsticles and deleting them fro mthe map as it goes, this i think would require a very accurate movement and orientation system, which i cant think if a decent answer for without having beacons or some static point to reference in each room which would kinda defeat the point in it.

 

Whoa.

 

 EDIT: better link

http://www.designer2k2.at/index.php?option=com_content&view=article&id=22:3d-scan-arduino&catid=13:arduino&Itemid=36

 

that looks pretty cool, if that could be used to build up a picture then things such as coving and natural deviations in the rooms stucture could help to build up a very accurate finger print, however it would still rely on an accurate movement and positioning system.

 

trying to think of a way to give Guilbot a sense of position using only a ping sensor. The way i was planning to do it was to have him sit in the start position and have him scan the room in a a full 360 arc to get a distance from each wall to give him a position relative to the outside of the room. Thats about as far as i got, i managed to map the results out into a basic model in processing. My eventual aim was to have him remember each room as a sort of finger print in the hope he could recognise a room according to the dimensions of it. The problem with this method was that things like furniture and odd shapes in the wall could throw things off. 

 

Then i moved to cat lazer.  

I think the robots map needs to consist of nodes and junctions. A node will be a room or a position in the room such as where to go to recharge. Between the nodes are junctions. Points in the house where the robot must choose a direction to go in. For example a doorway between a kitchen and a dinning room.

When the robot finds itself in a junction where a decission about which direction to go in has to be made it can measure the distances to determine which juntion it is in and what direction it is facing

 

Because then a junction can be used as a way point, it knows that its come from room X, to the front there is a room, to the left there is a hallway (a hallway beong something that is < 1.5 meters diameter) so it knows that it is at junction Z, then the fingerprint can be extended from room X -> node Z. If the doors and walls in your place are a standard width throughout that should make it even easier to differentiat betwen nodes, junctions and door ways. 

 I wonder if a kind of average of the room wall and floor colors would be possible and if it would help. I think that different lighting conditions during the day/night and weather conditions changing the lighting would hinder this.