PDA

View Full Version : Tower of Babel


Jaxom
09-05-2006, 06:54 PM
I'm VERY new to the world of robotics. Actually, so far all I've done is read the book "Robot building for dummies" and the ebook, "Building java bots". Both good reads, but I'm rapidly getting confused as to which language use to program with.

I have an idea for a bot that I would like to build. While I know my ultimate goal will be rather complex, I also know that I will need to learn how to crawl before running. So, I will be working on smaller less complex bots during the learning process which will eventually lead me up to my ultimate goal.

Having said all that, here's my problem. As suggested in both books as well as on many websites, you often re-use parts for new projects. This helps to keep building costs down. But what if I buy a progammable controller that uses Pbasic , but the controller I really need for my ultimate bot is programmed in C or Java?

A side by side comparison showing what controllers can use which languages and what ablities you can possibly achieve with them would be very handy. Going along with this theme, a side bar could be diagrams of various controllers, h-bridges, speed controls, voltage regulators, and so on. You could have this set-up with 1 diagram showing a simple diagram, then intermediate,then advanced, say just for yucks an insane diagram controlling multiple drive motors, using multiple h-bridges and speed controllers, and every sensor imaginable, with wireless ethernet and gps....ect.

Thanks,

Jax

HarryBotter
09-05-2006, 08:32 PM
Having said all that, here's my problem. As suggested in both books as well as on many websites, you often re-use parts for new projects. This helps to keep building costs down. But what if I buy a progammable controller that uses Pbasic , but the controller I really need for my ultimate bot is programmed in C or Java?

In order to take advantage of saving code snippets or routines you should first try to settle on a language and a microcontroller. Take a look at what others are using and try to figure out what you're requirements will be. This is tough to do when just starting out, remember, it's probably better to overestimate future requirements than to underestimate them. Hope that helps a bit!

Cheers, Harry

PeterD
09-06-2006, 09:23 PM
Hi Jax,

My advice is to jump right in: get a kit that looks interesting to you and which is a good match to your skills & abilities. There is alot of truth to the saying "Experience is the best teacher." I know that, after building your 1st kit, you'll have new ideas for your ultimate robot project. Plus you'll have some good insight into what it will take to make it real.

I like your idea for making a side-by-side comparison of the features & merits of various processors and components.

Jaxom
09-06-2006, 11:07 PM
Harry,

I understand what you're saying. And even the very short time I've been reading about bots, I can see multiple ways of doing the same thing using two different languages. And I haven't programmed a computer since I was in highschool!!! Anyone remember commie 64's? I guess what I'm saying is i don't want to be stuck with old tech and beating my head against a wall trying to make it do something it will never be able to do.

Henry,

Yeah, I've already selected two bot kits, for my first project. It will either be a surveor srv-1 or a boe-bot. Guess I'm gonna have to flip a coin on that one. Both have features that I'm seeking for my main bot.

Just for the record, after I posted, I did find a website that had block diagrams on how various controllers and stuff are intergrated together. One example even showed using a computer that programmed the b2 controller, something i was concidering as well. But I would still like to see what the folks at robot magazine can put together.

Jax

HarryBotter
09-07-2006, 10:13 AM
I guess what I'm saying is i don't want to be stuck with old tech and beating my head against a wall trying to make it do something it will never be able to do.

If you give us an idea of what your ultimate aim in building a robot would be we can perhaps suggest a route to take. That would at least give you a few opinions based on what others have done.

Harry

Jaxom
09-07-2006, 01:18 PM
Harry,

Only if you promise not to laugh!!! :) For starters I'm a "detectorist" during the summer months. Yes I'm guy you see at your local park, beach, forest preserve swinging his metal detector around. I'm also a GPAA member as well. (Gold Prospectors of America) I think you can already see where I'm heading with this....

Just receintly I was watching a cable station showing "Future Tech" for the military. And they were showing how they used robotics to search for land mines. These units used ground penitrating radar. GPR for my application would be of no use. Since the first 10" of detection is distorted by surface interference.

Features I would need to include to do what I desire. Work autonomously. Using a laptop and some maping software that I have, I would be able to via ethernet select a grid that I wish to have the bot scan. A large arm. The arm would need to be rather large. To initialize the metal detector, the loop as to brought up to waist hight, wait for a signal then lowered to the ground (on edge, wait for a second signal, then rotate the loop so its parallel to the ground before beginning the sweeping. While sweeping, it is my desire to have the bot transmit both audio signals and lcd read outs back to the laptop. I'd also like to have the same information plotted on the map that I originally used to determine the area for the bot to scan. If you are familar with wardriving and the software 'netsumbler', combined with ms-map point, it's the same concept.

As I said, this would be a somewhat complicated bot to build. But from what I've read so far, it does seem feasible. There are alot of minor details that will need to be adressed as I built it. (keeping the loop 2" above the ground, how to detect around objects like large bolders and any plant life, build a strong enough arm when the elbow to wrist isn't made out of anything metal and still get the wrist to rotate...and so on.)

The thing is, I live in Chicago. Just about all my hobbies are out doors. Hobbies that aren't exactilly fun when it's 5F and there's a 20mph wind! LOL Honestly, I don't even care if this takes me a year or three to build. Heck, I'm looking at a MMP-40 platform for $5,000 and the detector I'd be hacking into is another $1,500, just saving for all this will take some time!


Jax

HarryBotter
09-07-2006, 03:00 PM
Only if you promise not to laugh!!! :) For starters I'm a "detectorist" during the summer months.

Neat, I think I can make you drool. :) I live in a suburban development of about 30 acres with about 10 houses. The area takes up all the land in a fairly large curve of a river. Here's the part you'll like, the 30 acres was a public park for close to 100 years up until about 1996 when developers bought it. Recently there were a number of folks with metal detectors working the farmland adjacent to my lot and they stayed the whole day so I assumed they were finding more than bottle caps. :)

Features I would need to include to do what I desire. Work autonomously. Using a laptop and some maping software that I have, I would be able to via ethernet select a grid that I wish to have the bot scan. A large arm. The arm would need to be rather large. To initialize the metal detector, the loop as to brought up to waist hight, wait for a signal then lowered to the ground (on edge, wait for a second signal, then rotate the loop so its parallel to the ground before beginning the sweeping. While sweeping, it is my desire to have the bot transmit both audio signals and lcd read outs back to the laptop. I'd also like to have the same information plotted on the map that I originally used to determine the area for the bot to scan.

An interesting project. It seems that processing on your bot would be minimal so almost any family of proccesor or proprietary chip would work. Check out PICs, AVRs, Parallax micro processors, NetMedia processors; they'd all likely do the job. The PICs and AVRs require a compiler and I know a free compiler exists for the AVR...the GNU compiler. The proprietary chips generally include an interpreter/compiler with their product.

It sounds like you've got some PC programs that you want to work with but if not, a cheap alternative exists. Microsoft has a free version of Visual Studio Express that would provide PC based programming capability.

Wireless h/w depends on the distance of your laptop to the detector along with the amount of bandwidth you require to transmit the info.

The bot could locate its position either by dead reckoning or GPS or a combination of both depending on required accuracy and size of area. If extreme accuracy is required I'd think you may be able to set up some beacons that would allow accurate localization. A compass could also add useful data.

As I said, this would be a somewhat complicated bot to build. But from what I've read so far, it does seem feasible. There are alot of minor details that will need to be adressed as I built it. (keeping the loop 2" above the ground, how to detect around objects like large bolders and any plant life, build a strong enough arm when the elbow to wrist isn't made out of anything metal and still get the wrist to rotate...and so on.)

I think the main difficulty may arise from uneven terrain and obstacles but with enough sensors and the proper platform even these can be overcome or adapted too. The loop can be readily manipulated with a robotic arm and this technology is straight forward and established. Like I said an interesting project and possibly not as difficult as you think. I think the technology that you require is already well established so it's just a matter of deciding on what pieces and how to assemble them. :)

Cheers, Harry

TheDuck
09-07-2006, 03:05 PM
Laugh? That sounds really interesting! I find robots that have goals yield very interesting designs. An android is an amusing enough thing but what does it do? Whereas the simple and efficient elegance of something like a Roomba is great.

It might be worthwhile to consider the components you have to ultimately deal with and work backwards from there. Since I haven't a clue what that might be you might "think out loud" in this thread and folks can react to your comments. Also your strategy would be important: one big intelligent grid-processing giant or a swarm of simple detectors? A platform that supports appendages or an amusing platform that flips on its back to initialize, then flips back over and roves about with the detector underneath?

I'm curious, have you seen something like this before (apart from mine-detectors) or this entirely new for you?

I hope prospecting for a solution is as interesting and rewarding as the more traditional prospecting you are used to! :)

Jaxom
09-07-2006, 09:06 PM
Okay, guys! Thanks for the interest, but I think this is slowly becoming off topic for this forum. I'll respond to the latest posts here, but I'll start another thread in a different forum titled "Robector".

Harry,

I was very luck about two years ago. My town deciced not only to resurface the road and put in new curbs they also redid the water lines and had the gas company do thiers at the same time. This ment all that parkway space from curb to sidewalk had been scraped clean of lawn! I found a small mountain of coins just detecting withing five blocks of my home! Just to give you an example that this project is worthy, just one coin i found, I sold for $500. (1863 half-dime)

About software. I have access to two computers. A home brewed desktop multi-media, video/music editing, and some minor gaming, and personal book keeping usage. Then I also have a laptop. Right now the Laptop is running XP pro and having read the latest Robot magazine, I was also aware of the Visual Studio Express being availble. Also grabbed that new robot program and the game sdk as well. On the other hand, I'm also concidering removing XP and installing a flavor of linux. Not sure just yet.

To get the assistance that I could use, I'm going to have to take a step back and explain a few things about metal detecting. No, unlike the White's commercial, you don't "ONLY" dig the good targets. I can't tell you how many hundred's of pounds of aluminium pull tabs I've dug! But alot of what makes a good detectorist, is keeping your sweeps at a steady speed and overlapping! I cannot stress the latter enough. A quality detector with a 10" wide will generally be detecting down to about 8-12" deep. This depends on the ground being detected. If it's moist, it seems to help. But if it's heavily mineralized, you're more likely only detecting down to 6-8".

The problem with this is how the radio signal from the loop slowly weakens as it goes deeper. By the time your signal gets 8" down, you're only detecting an area the size of a quarter, or half dollar at best. If you don't over lap the sweeps, you're going to miss ALOT of targets! Besides not overlapping, your
sweep has to be a steady smooth stroke. I personlly would start with my loop to my left, swing right about 24-36". Then sweep back to where i began, then take a half step forward. The sweep should remain steady and be approximatly 2" above the ground all the way through. One bad habit, and I've caught myself even doing this, is "dishing" the sweep. Where as you beging to lift the loop higher at the begin, mid and end stroke.

Now, let's say i've kept my stokes steady. I've over lapped each foward movement, and I wasn't dishing. You can still be missing targets! Imagine a dime buried 5" deep, on edge with a slight incline one way or another. You can pass right over it because that edge is sooo narrow, it didn't give detector any thing to ping off of. Best solution, work in grids. I usually set mine to 25'x25'. (More on this later.) You start on one side of the grid, work across to the other side, say north to south, then back north again moving ever one sweep's width east or west. Once you done this, you approach the same grid but from a 90 degree angel. By doing this that same dime on edge, will give a bigger surface area for the radio signal to reflect off of.

About the grid. I used graph paper to plot out my grids, and then would compare those with topo maps, google earth, and some historic maps that I have, by logging my good hits this way I can start making out a patern where perhaps a homestead or concession once stood 50-100 years ago. Following those paterns, I don't waste time detecting places where there were no people!

How this can apply to robotics. Well, right off you eleminate dishing and slowing the bot down, (sweep...move forward 1"...sweep), I've accomplished overlaping. By having gps, or even a compass if that is more accurate, sending a signal back to my laptop, I've now accomplished grid paterning.

Most of detecting is spent listening. A loud bass tone might mean a nail or some other iron object that's close to the surface. But soft high pitched tone could mean a small gold nugget or coin (depending how detector is set-up) that's buried much deeper. Once I hear that sharp sound meaning a good target then is when you look at the detector's lcd read out. The particular detector I'm thinking about using for this project will show approximate depth, electrical conductivity and wiether it's a ferrous metal or not. Ideally, I'd like to stream the audio back to my laptop so I can listen to what the bot is detecting and have a display mimicing the lcd on the detector on my laptop. (even better would be able to control the detectors settings, but that's optional at this point).

By unit... Going unit by unit, I know this can be done, but as I mentioned before, time and money are the main hinderence. I really like The Machine Lab's MMP-40 treaded platform. Start with two motors with encoders and two battery packs and go from there.

The electronics... Mini itx motherboard, this will give me flexiblity. I can plug in a usb gps straight into it. Since they have built in sound cards, i can null cable from the detectors headphone out into the mobo and just setup some streaming audio software. I read someone's robot page, and thier block diagram gave me some pointers one how to use a computer has a brain box, so that servo's that require highseed and accuracy should be written in C, where as things like servo's and motor controll can use pbasic or something simlar. I believe that person used an Atom Bot Board and a SSC-32 servo controller. Since I will require presise controll over the drive train. Would it also be a good idea to use an H-bridge?

Sensors.... Other then hearing more about that compass that Harry mentioned would be handy. If I'm not mistaken, even the best gps is only accurte to within 25 feet. I'd like something that I can pinpoint within 1 foot. I also need maintain a 2" clearence under the loop. At the same time detect any bolders, bushes, animals, trees or any other obstruction.

Headache #1, the arm. Must sweep left-right-left in 3-5 seconds. Does not need hand servo for a clamp, and wrist servo can't have any metal in it! In fact from elbow to wrist MUST NOT include any metal at all. Anything metal that close would interfer with the detector's function. Yet once the detector has intialized, the loop has to rotate 90 degrees. :(

Headache #2 The detector. Buying a $1500 detector and then taking it apart has me just a bit squimish to say the least. I screw up, and either gonna have a hefty repair bill or totally blow the unit up! I am trying to get my hands on a service manual/schematics for the unit I'm looking at, until then i'm just going to rely gps data and streaming audio signals.

As you all can see, I've got this pretty much thought out. Of course there might be design changes due to advancements in accesories and stuff as I progress. But I am more the willing to hear from those with experience.


Jax

HarryBotter
09-08-2006, 05:51 AM
I'm going to respond to your last post in a very general fashion. I like to think of hobby robotics as an exploration of ideas where the imagination is given free rein. Now that I've got an idea of what you're trying to accomplish I'm just going to ramble a bit on how I might handle this. The key here is "I", you would probably do something entirely different. I'm just trying to explain the process.

At first thought, I'd think this will only work well on flat, open and fairly level terrain. I'm resigned to handling anything else manually at least until I get more experience and confidence with my design.

The problems have now become managable but where to start? Hmmm...a 25' x 25' grid, 2" off the ground. Well, a hovercraft could do that. Just set the unit into the deck so it scans 2" above the ground, you wouldn't even have to modify the detector. What else? A 2-wheeled differential drive platform with a castor for balance could certainly do the job in any number of ways. Again the unit could be mounted in the deck, 2" above the ground. One wheel driving and the other stopped would cover a 2x Diameter circle while both wheels turning in opposite directions would cover a 1D circle. By varying the speed and direction of each motor you could cover any area you'd like. What about a conventional 4-wheeled or tracked platform with a perpendicular rail system attached to the front that would allow the detector to be driven from side to side as the platform inches forward? How about a platform with omni-directional wheels? Now you've got a unit that can track in any direction at any moment.

Next, let's think about how to cover a 25' x 25' area completely. A GPS is pretty well useless for this application because of its built-in positional errors. I can think of several useful tools, a compass, encoders and a camera. The compass would allow a fairly accurate way of following parallel sweeps. The encoders would provide dead reckoning abilities while the camera would allow for orientation within your space. For the camera I'd try 4 different colored markers at the corners of the grid and then write an algorithm that allows you to determine where you are based on the colors in your camera view and their horizontal and vertical position within the picture frame. A recent post to this forum offers free software that may be able to do this.

http://www.botmag.com/forum/showthread.php?t=241

I think the AVRcam could probably also do some of this with just the onboard processor and its color tracking algorithm.

Whenever the unit displays an interesting signal you could have the bot expel a puff of chalk then while you send it off to work the next grid you could start digging. Or build a bot that can dig. :)

Most of these ideas may be impractical but I hope I've given you an idea of the process I go through for a project. Remember this is hobby robotics and *whatever* works will provide a huge personal reward. The people that have to design and build products for the market have an entirely different set of problems than you.

Cheers, Harry