Multipurpose Robot: XRB3
XRB3 is powered by an AVR ATMEGA324P micro controller on a custom board that I made. Although he is fully autonomous, he is using an XBEE module to communicate with my PC for debugging (and eventually with other robots). Onboard sensory includes: 3 Sharp IR sensors (for wall following and obstacle detection), an SRF-05 sonar sensor and AVRcam. The sonar, a gp2d12, and the camera are mounted in a 2-axis head. He also has quadrature encoders on each wheel, I currently have code implemented for closed loop turns and rolling forward a set distance, but have yet to do continuous speed control.
This is intended to be my map-making test platform. He currently does have an onboard planner that, when given an a priori topological map of an area, can navigate the area. I'm still working out the bugs in his ability to actually build the topological map of an area.






@ Sun, 2008-11-09 04:49
Very Nice
@ Sun, 2008-11-09 04:53
AVRCAM
The camera is an AVRCAM from http://jrobot.net/
It is about $100, has an AVR on board that does basic image color segmentation and blob detection, and then provides a serial port to get the data out. It is also entirely open source, so you can replace the blob detector or the image segmentor with your own code to change the characteristics of the vision.
I do have some sample code for using the AVR cam with another avr, on my subversion server.
-Fergs
@ Sun, 2008-11-09 04:55
Wow. This thing is very
@ Sun, 2008-11-09 05:54
Very cool !
@ Sun, 2008-11-09 09:18
wow great robot! so advanced
@ Sun, 2008-11-09 17:41
AVRCAM
The AVRcam is probably the hardest sensor to use out there. It uses a well-defined serial interface, so it isn't terribly hard to get that working, however, it gives off so much data that it has a tendancy to overwhelm the robot's main processor.
The biggest problem, with any camera - not just the avrcam, is that you have to set your colors for the environment you are in. The brightness of the room affects the way things look to a camera, no camera out there has the same compensation build in as we humans do.
-Fergs
@ Sun, 2008-11-09 10:00
mapping
Good to see a design that starts out with a clear idea of the concept: topological mapping (rather than geographical mapping). I like that. Also cool design to look at!
8ik
@ Sun, 2008-11-09 17:50
Mapping
The biggest reason for a topological map was that a) an AVR has limited memory, so a metric map would be pretty small, and b) searching through a topological map for a new area of interest is far easier.The robot's topological mapping was pretty good, in a limited world.
However, I have been working on an extended model that basically builds a local (6'x6') metric map of the world. The metric map is updated over time as the robot moves and older data "falls off the face of the earth" as the robot moves away from that area. The metric map is then used to extract more relevant points of interest to add to the topological map. The system also adds a small amount of metric data to the topological map, in the form of the approximate distance between nodes on the map. This limited-metrics is primarily for the problem of loop closure (is this a new node, or have I been here before?).
I'm also slowly working to get the robot off the grid, as the current method only uses orthagonal maps.
-Fergs
@ Sun, 2008-11-09 20:51
Onboard and offboard
@ Mon, 2008-11-10 01:29
Python was only used for the
Python was only used for the system console, which is a small program that allows the PC to connect to the Xbee network and view the output of the robot (and also start or stop particular behaviors/programs). Python is a great language, because it is fairly simple and has many libraries - such as pySerial, which was used to connect to the Xbee over the USB serial port. The python program is only 205 lines of code. Had I written the code in Java, that serial port interface alone would have occupied about 200 lines of code (in fact, an earlier version was coded in Java, and was about 700 lines of code to create even less functionality).
-Fergs
@ Mon, 2008-11-10 01:14
Wasnt this robot at
@ Mon, 2008-11-10 01:30
Yes it was. B3 won third
Yes it was. B3 won third place in thier August competition, and thus got a small picture of it in Robot Magazine.
-Fergs
@ Mon, 2008-11-10 02:27
Nice! I really like your
@ Mon, 2008-11-10 02:54
Maze
Yep, that is a replica of the Trinity Fire Fighting Arena, in my basement. Although I have also made extra walls for reconfiguring the maze.
-Fergs
@ Mon, 2008-11-10 04:12
Nice, that's pretty cool.
@ Mon, 2008-11-10 04:23
This bot doesn't do
This bot doesn't do firefighting, but one of my other bots does: http://www.blunderingbotics.com/xrb4.php
I've reused this maze many times for multiple purposes other than just the fire-fighting.
-Fergs
@ Mon, 2008-11-10 06:38
Cool, just noticed the ARC1.1 board
@ Mon, 2008-11-10 07:04
Wow
So much and so cool!
@ Mon, 2008-11-10 16:13
Nice
Nice design. I really like the object following / tracking vid. Very smooth
I like the maze too.
@ Wed, 2008-11-12 22:37
I likw this bot :)good work
I likw this bot :)
good work
@ Fri, 2008-11-14 09:16
Featured on MAKE :)