Bender

Sorry to here that you fried

Sorry to here that you fried your board. I am always afraid of doing that. My wife always teases me about cheching everything in triplicate. But it’s only money…LOL

Very true, man came a long

Very true, man came a long way since he started his first fire some 800.000 years ago.

But these days… For 4,5 million years man has been using it’s imagination to get where we are now. Mathematically (but not very accurate)  that means we had a million ancestors each. Multiply that by the global population and take off 40% (we started out with less then we are now). Now lets say we have 3 good ideas each in our lifetime, so multiply the previous number with 3.

Now try to think of something original keeping the previous result in mind :slight_smile:

Real progress is something we mainly achieve together these days. With lots of effort, dedication, money, “brain/man-power” and a little bit of luck :).

I still love your robot! All it needs now is a bit of imagination!

Hey, I am always fresh with

Hey, I am always fresh with an idea, please PM me for original thoughts. Thank you.

PS: Original <> always = good

It happens!Someone in a

It happens!

Someone in a movie once asked somebosy who wanted to become a powder monkey "Ever lose a finger cuz you got careless?"

The younger man replied, smiling;“No.”

“Can’t use you” the boss replied.

An d of course the moral of the story? If you’re not making mistakes, you haven’t learned anything.

Pn the brighter side, it has allowed me to take a step bake and take the time to rewire the whole thing. Everything is much neater now.

And I found what will become Bender’s head. An Iron Man mask I saw at Toys R Us. Almost certainly will repaint it, either black to match the body, or white to look more like something out of i Robot.

Easy as pie

Making custom blocks for 12blocks involve;

  1. Create a function in spin code and save it it as an object somewhere where 12Blocks can find it. That is usually the same directory that your main robot program is in. It could be in the propeller library, apparently it looks there as well.
  2. There is an XML file that contains all the information about the block. There is a button on the 12Blocks screen that will build it for you but it vasically describes the number of parameters, function name, object name an if a return vaue us expected.

That’s pretty much all there is to it. The new block will appear in the appropriate header. You can create your own section for this to make things easier.

All of the spin objects are included with 12Blocks. Cnage change your name to replace theirs. Just make sure that any functions in the obj you replace get carried over to your object or things might not work. In other words, rename your obj file or copy it intot eh old file.

Took me a couple of hours to figure it all out but once I did it was pretty trivial. I had to modity dervo32v6 because the stop function didn’t seem to affect anything so I just made it do a go(0,0,0,0) and it works now.

One more Question

How easy is to launch sections of code in other cogs. I have one cog just updating sensor variables and others reading the RF link etc…

Bender delivers cookies

Chalk up Bender’s first real achievement. While it was all done via remote control, it fulfills Bender’s only real design goal.

Ya the aniti collision

Ya the aniti collision routines are always the tough ones to fine tune. I still haven’t found the “Sweet Spot” time between each PING))) being called. I still get echo’s from the others interfering. Keep me posted on the encoders. That has not worked out well for me except on good flate and smooth surfaces.

So in the videos inoticed

So in the videos inoticed that Bender drifted right. Is it seeing something or is that just engine drift from daisy chaninging the HB-25’s. Or is the user doing that?

I am sorry to be a bit cynical here…

Don’t get me wrong, I know that a lot has gone into this robot, and there is a lot to come so maybe I might just be confused here…

Bender’s first real achievement and only design goal was to deliver a small package down a hallway via RC? I think it is the RC thing that I am confused by --The second video (7 min, blurry) was showing a robot being controlled by a human, via RC? Am I getting this correct? This has got to mean that a RC signal was used to start an autonomous run, right? If not, I am surprised at 2 things: One, the investment of $4500 to build a very elaborate remote control car and two) the fact that this was the intended goal. I mean, I can get a RC car from the dollar store and duct tape a box of animal crackers to it’s back --total cost 11 bucks. I dunno.

Again, I might just be jaded here but I have found that very expensive tools do not a good carpenter make and…

If you put the worst driver in the best car and the best driver in the worst car, the best driver will always win.

So, I have to say again, I gotta be missing something here…

Chris,You are missing the

Chris,

You are missing the point a little. He is building a large tele-presence robot that can carry a workload. Sure it is RC controled but the robot has sensors to override the RC commands when the robot is in danger of hitting something [semi autonomous]. My robot is the same only without the camera. These things have to be built to pave the way for people to be able work away from home and still be at home via telepresence. Or to go to a conference or LMR event without ever leaving your front room…LOL.  Or check something in a large warehouse from your office cubicle.

There is need and uses for this type of robot

So yes, I think that you missed the point entirely…

Inside joke

When my boss learned that I was building robots at home a couple of years ago, he asked if they could deliver cookies. When Bender got to the telepresense level (easy peasy), I brought it in because there were several requests to see it. So I brought it in and ran some cookeis down to his office. The video was done by an office mate so I had nothing to do with its creation. I included it cuz there was a request for some video.

That’s not what Bender was built for

I never said anything about the cookie delivery being Bender’s only goal, it was just its primary goal as it was not built for anything in particular, it’s a development platform. As fpr the RC part, that was all done via wireless internet built into the robot. I didn’t build the robot to deleiver cookies, that would have been stupid. I delivered the cookies because it was a joke demonstration for my boss, and our office’s amusement. Not everyone in my office is robot savvy. while nobody on this forum would be impressed,the people in my office don’t see robots every day. Some of the swerving was due to the avoidance software trying to override the R/C.

And you are wrong about the worst driver/best car analogy The best driver still has to outdrive the worst one to win and its’ got to finish. it’s not a given.

You’d think I broken some sacred oath or soemthing.

Crawl before you walk, walk before you fly. The thing was only a couple of days old at the time. I only had it running completly on battery power the night before. Give me a break.

Missing point

Bender is intended to run both autonomously AND via remote. Since remote is so much easier than autonomous it makes sense to work that out first. Building robots is easy. Getting them to do anything interesting AND practical requires a great deal of effort and I beleive you need to learn to crawl and walk before trying to fly.

You should try doing something through telepresence. It’s not as easy as driving an R/C car. When you are doing the telepresence thing, you only have the viewpoint of the robot’s camera. You don’t have the advantage of seeing the car, on the track with a 360 degree view of everything within10 or 20 feet in every direction. You have tunnel vision, at a slow frame rate and you have to anticipate actions more. There usually is no time to react, as you can see from the poor maneuvering that Bender achieved in this run.

veering

When I made this run The HB-25s where being run directly from the propeller via PWM, which is why Bender veers. Unfortunately, the veering is not consistent, as anyone who uses PWM without encoders well knows. I hooked it up that way initially just to be able to drive it around. When I got it home, I wired up the encoders and discovered that they don’t work. Talking with parallax now, trying to diagnose them. Eats up a lot of time but…

Yep! The LMR sacred oath was broken!

Don’t worry TOBI 1, 2 & 3 broke the oath too!

There is a heated forum thread about RC robot rigs not being “Real Robots” or having “Robotic Life”. But you have to crawl before you walk and that is more the case for large robots, since a large rogue robot can do a lot of damage. Don’t take anyone here too seriously. My robot was called nothing better than a radio controlled “RC Flier” wagon at one point.

So don’t let CTC or anyone dampen your spirits.

Can you post sone detailed pictures of the inner workings of your robot? I’m dying to peek under the hood of Bender.

Wow, this was not my intention…

Wow, I think I need to offer an appology or explaination here. First off, I had no intention of stepping on anyone’s toes. The tone of my last post was not to be disparaging to you or this project. My comments on being “only a RC car” and/or “$4500!?” was to emphasise my confusion and that “I must be missing something here.” --Indeed I was. I really think this is the standard issue of written text not having a tone-of-voice.

For the record, I think this is a great project and trust me, I understand how hard it is to navigate and control large robots (I have been working almost 2 years now). I am hip to walking before running, I get the whole thing now. I wish you the best of luck.

Apology Accepted Captain Neider (lol) It’s a Star Wars Joke

Don’t worry about it Chris. The nature of these things are that tongue in cheek expressions often backfire in a text only environment. Every once in awhile, it takes us all by surprise and it only becomes apparent after the fact, when it is often difficult to take things back.  It would help if more of us had thicker skins, but we don’t so…

 

I think you’d be disappointed at what’s under the hood.

Think of an empty box with two motors, two HB-25s under the motors, a battery pack and a propeller board along with a bunch of wires running all over the place and that’s all that’s inside Bender. There’s the PC and webcam, but they are both topside. Having said that, there are a number of things that are going into Bender but  aren’t there yet. I think this is robot number 11 or 12 but by using a PC brain and a propeller controller, I’ve managed to reduce the number of parts to a minimum. This is in large part due to the fact that over time, I have gathered a sense (rightly or wrongly)  of what I need. A lot of goo ideas on paper don’t pan out in practice and don’t make it on future robots. 

For instance, I use PINGs instead of SRF08 mainly because they use a simpler interface (common 3 wire servo cable, available everywhere). I used to use SRF04/SRF08 from Devantech but switched because it’s easier to buy a 3 wire female/female servo cable than to build a 4 wire custom cable.  used to use IR and ultrasonic for collision avoidance but discovered that the redundancy was strictly needed. I/R is still great for edge detection though and Bender will probably use it at some point. I have always loved the panning heads but their practicality is highly reduced when the robot is moving so I’m not using one right now.

I use the propeller because it has 8 separate processors in it and allows me to do true multi processing , something that would require the use of three or four boards if it was built around other microprocessors. Inf act, the propeller allows me to eliminate a sensor board that I built to offload sensor management because the processor of choice (BS2) couldn’t quite handle the job and do anything else interesting.

When it gets down to it, most of the really interesting stuff will be in the software. That’s always where it’s going ot be and unfortunately,  that’s the hardest part to see.

How are the Ping Sensors working for you?

1st - Love the robot.  Using a nice chasis is expensive, but it’s worth it.

2nd - How are the Ping sensors working for you?  I’ve found them to be jumpy - it will read 18" or whatever, then jump up to 1" or 2" for a second.  At the Propeller Expo, I met a guy who was selling parabolic reflectors for the Ping that made output dramatically more stable.  I’m pretty sure Parallax will start carrying those reflectors soon.

Your robot also got me thinking - most robots that are actually productive (like industrial robots) are massive.  In nature, there are plenty of animals that take the approach of ‘divide and conquer’ - dividing labor among many cheap units to get complex things done.  Like how ants build their hill, or bees make a hive.  I wonder how the divide & conquer approach would work in an industrial setting…

Pings

I’ve never had any problems with the pings per se. One of the problems I’ve found with ultrasonic range finders is that because the ping they emit is not unique to the individual device, one ping can often hear another and can produce false readings when this happens. Usually it’s because two pings have overlapping coverage and are triggered back to back. Picture a sound wave going a distance and bouncing back. But, instead of a single bounce, think of it bouncing off something 10  inches away and also something 40 inches away. The first wave bounced back is fine, but the second ping fires and gets an almost immediate response because of the longer signal path from the first ping. as a result, the second ping produces bad data.

My solution to  the problem has always been two fold; don’t overlap the pings  AND don’t trigger adjacent pings in succession. When I have the problem, I trigger the pings a lot like one might trigger spark plugs in a car engine; Fire a ping, then a ping as opposite a direction as possible from the first and keep doing that until all pings are used. This works great when there are 6-8 pings on a robot . Since pings can only fire after the previous ping returns a signal or times out, by the time an adjacent ping triggers, the echos of the ping next to it are likely to have died down.

I learned this lesson using SRF04 and routinely set the pings up with this phenomena in mind. As a result, I rarely have any real issues with them,

Something you should keep in mind though is that some surfaces do not reflect sound very well and will appear invisible to the ultrasonic device. That is what the I/R rangefinders are great for. Every ultrasonic rangefinder should be backed up with an infrared one as few things are transparent to both. I haven’t added I/R yet but do plan to before long

 

As far as the divide and conquer thing goes. If you look at a modern robotic factory, that’s pretty much what they do albeit in a minimalist way. Right now the paradigm is the replacement of human labor. We’re still in the early stages pf using robots and in this country (USA) labor unions are traditionally anti robot. Look for the advancements in the emerging third world.