New Project - Hardware / Design

ok, im a rover dude that has spent over 2000$$ now on my cool bot through the past year. If its going to be used in the yard (grass, cement, dirt, rocks ect) do not get a 7.2v battery. The battery will not be enough to get the 12v motors jim sells to work on that terraine.

I suggest making a harness with male battery connectors to connect 2x 7.2v batteries together, than you can always unconnect them and charge them seperatly (like I did). BTW you will be overvolting the motors by 2.2v (which isnt a big deal at all) but it will provide a little more humph! I suggest getting these motors: lynxmotion.com/Product.aspx? … egoryID=11
they have good rpms and high torque which will make it easy for moving heavy loads as well. Also, you can put a small “trailler” on your robot for collecting items with the arm. This is similar to what I am doing, but instead of having my bot to drag the load, I am putting a small basket on the rovers “back side” for the arm to rotate and drop items in.

Hope this has given you more info. PM me if you have more questions or just keep posting on this thread.

Here’s my opinion on the “what to chose?” subject:

Rovers-
Large payload.
Fast.
Stable platform for video.
More payload and larger size allows for more and better sensors.
No frustrating gate generation required.

Hexapods-
Low payload.
Slower.
A bit wobbly for video, though not too bad, since 3 legs are usually on the ground at any one point.
Still a pretty good platform for sensors.
Gate generation takes up a lot of time, but there’s a lot of examples.
IK can greatly speed things up after the initial learning curve, since there’s usually only 3DOF per leg.

Half Bipeds-
Perhaps the cheapest of the servo bots, since 4DOF is all that’s actually needed.
Payload is a joke.
Their speed is arguable, as they’re a new commodity, though I believe that most will be slower than the average hexapod.
One day, we’ll have to put on a race and see. :smiling_imp:
Video probably too bouncy.
Not much room for sensors.
Since their mass is usually quite low, the platform isn’t a very good candidate for dynamic balancing feedback.
I say “usually” because there may be some half-bipeds, such as the Scout/209 which are a good candidates.
Since there’s less servos to deal with than any of the other buggers, gate building time is at a minimum.
There’s also a great tutorial for it and a ton of examples (although you’ll find that’s apparent with most of the robots).

Full Bipeds-
Very expensive, since strong digital servos (5645 or better) are practically a necessity.
No payload to speak of.
Snails pace.
Probably too wobbly for any useful video.
Not a lot of room for sensors, and some sensors, like rangefinders and cameras are practically useless.
However, there are a few sensors, such as gyros, accelerometers, and even pressure sensors which can only be fully realised in a design like this that craves balancing feedback.
Gate generation takes up nearly all time not spent on balancing hardware.
Not many examples to be found.

Conclusion:

Rovers are nice and foolproof for learning, getting right to the “good stuff” as well as being the power-house in terms of being able to interact with the real world and accomplish tasks.

Hexapods are designed for those who wish to have most of the above flexibilities without the critics saying that their robot is YARR (Yet Another Rolling Robot).
In terms of learning, it loses the ability to get directly to the “good stuff”, but much of the boring gate-generation part can be accomplished through neat programming and mathematical tricks.

Half-bipeds are a great introduction to servo robotics in terms of expense and ease.
They’re probably the best learning tool to get into this type of thing.
The lack of sensors sort of takes away much of the appeal for some, though.

Full-Bipeds are, let’s face it, only made for bragging rights.
Building the biped makes one an elite, and getting the blasted thing to walk across the floor makes one a god among men.
Dynamic feedback is, of course, the eventual goal of every biped-builder, but it’s one which few progress farther than having good intentions and great ideas.
All-in-all, full-humanoids are an endless moneysink of uncountable frustrations, suited only for self-massochists, like myself.
Still, in the end, getting that bugger across the floorboards is one heck of a rewarding experience.

In the end, it doesn’t matter what robot you chose.
Pick what sounds fun to you and ignore the critics-- they’re just jealous.
Even if you can only manage to turn out with an obstacle-avoiding YARR that burns out it’s motor controller after smashing through every obstacle in it’s path, you’ll still have the satisfaction of knowing that you built a robot.

So, when the little green lizard from that Geico commercial asks you how it feels to be better than everyone else, you can safely shout at the TV that it feels [size=150]FLIPPING AWESOME!!![/size]
:laughing:

4WD3 it is ~! Hooyarr!

hmmm a combined hexapod and rover… To be honest I figured my hexapod would be an epeditionary vehichle that rode on my rover , kind a like a sea doo on a yacht :laughing:

but a combined unit could balance and do cool stunts on 2 wheels . As for advanced terrain traversal the torque could be sensed on the wheels as the legs climbed then the legs could have an algorithm to sweep back and up for storage until needed again.

I have been dealing with Robotshop.ca and I must say the level of service is awesome. I placed an order this afternoon and should have my parts in a few days.

  • 4WD3 kit
  • Lynx 6 arm for PC w/SSC-32 + software
  • Sabertooth Dual Motordrive (for differential tank style control)
  • (2) 7.2 2800 mAh NiMh batts
  • a fancy charger
  • battery/charger quick connects
  • (2) Maxbotix Sonar modules

I am tempted to immediately port the serial connections on both the SSC-32 and the motor controller to ethernet so I can have everything communicating on ethernet, anyone know of low powered ethernet switches for robots?.

So I should wire these batts in series to get a little more juice for the motors? I didn’t upgrade any motors - I am expecting the lynxmotion 4wd3 kit to be designed for at least grass and concrete.

I like the idea of a basket on the back of the rover. That way I can use reverse more appropriately.

I think the rover and arm will keep me busy and allow me to get to the functional purpose of the bot sooner. I have video processing technology to implement as well as speech recognition to and 3 dimensional mapping to play with. The architecture will be most interesting - either I will end up with a fair bit of server side processing or a mini ITX on the rover.

now about data / audio/video telemetry I am uncertain… go bluetooth/ or good ol WIFI 802.11 for data? if bluetooth is power friendly it may be the way to go.

TCP/IP cam or CC RF for video?. I have seen some good reviews of the little X10 kits for model rockets but I am sure there are better products out there somewhere.

Thanks for you help so far, do I need some sort of power regulating ciruit on this bot? I have 3 processor to power up initially and may want to explore solar cells.

Neil

Neil

sadly,no, you cant overvolt a 7.2 volt motor to a beastly 14.4 volts :open_mouth:

but im glad you got the stuff so far :smiley:

and keep in mind this unwritten rule so to speak, you must post images and updates on your project, when ever you can :laughing:

Great to hear. As Chunga said, you must follow this unwritten rule. Or lightening will kill a kitty :O!

You are going to need a power supply for your fancy charger. Most of em are around $50 (GRRRRR!!!). You can go with a $20 wall transformer that can pump out 12v at like 2-4A but i found after some testing that wall transformers dont follow their specs. (I had a 12v transformer be actually 15.5v :stuck_out_tongue:)

Bluetooth of wifi? Ahhh, good question. If I remember correctly, you can only use 1 bluetooth device at a time and I don’t think its range is very good. Bluetooth is sorta for those who want to test a script without a cable I would thing. I would use wifi. WiPort is a pretty good module to get. A WiPort module and board is $160 about.

Unless you wanna spend a few good $100 I suggest going with batteries instead of solar. Solar power is not very good and the small panels you can buy don’t exactly pump out a high current.

-robodude666

id have to agree with robodude on this point, these chargers require a DC power supply…i think, so you could get a car battery ( :laughing: ) or possibly a smaller sized 12 volt that you can recharge, if not, you can by a DC power supply that plugs into and AC outlet and convert it like a transformer, but like robotdude said, these can be expensive one place where i have seen these is here…sorry, i forget the name, maybe could someone could mention it, it has “robot” in the URL and it is mostly for combat bots, and the backround is green and black :open_mouth:

and i also suggest the wiport, its more expensive than a bluetooth, and its faster, well, i’ve heard that :laughing:

You can get a pretty cheap good supply at Jameco or RadioShack. I seen some really nice $40 supplies. If you have a few extra car batteries around the house, use them.

ok, then check them out there :laughing:

of course! the journey is the fun part.

This bot is going to blow my hacked mindstorms kit out of the water. I just need a quality platform. which I may have found…

I have a techtronix lab powersupply so if the charge I bought for $100 doesnt come with a power supply I can dial in 12 V on the supply.

how about if I bought serial/Ethernet (the XPORT ) and hooked up all three of my microprocessors ( servo controller, motor controller and java TINI microcontroller ) all into an off the shelf ethernet switch… this would be most ideal. it could even be a low cost wifi router.

Would I be overstepping the boundries of the power I have on this bot. Anyone know the draw of a wifi router? Mine are screwed to the wall so I can’t flip it over - might need to google the specs… wait it will be on my regulator plugged into the wall. :bulb:

Neil

all of jims platforms are quality :smiley:

It must be true ! it says so in his signature!! :smiley:

I am an enterprise solutions architect in OO Java so a Java micro means a lot to me - if its not true OO then its a waste of time and money. I should end up with a pretty sweet Java API.

I need to learn about I2C though… never used it. oaunds pretty cool from what I have read.

details on the micro that I will be controlling the SSC-32 and the motorcontroller from serially can be found here - it has two conventional serial ports even though it mentions 3. (a DCT and a DCE) the other they speak of must be the I2C.

maxim-ic.com/appnotes.cfm?ap … umber=1003

From here I will have object level abstractions for everything I create. I was very close to changing my micro to the the OOpic and getting the robotic centric features but I read a post from Jim Frye the robot guy about it being underpowered when it came to the arm… so a dedicated controller there in the SSC-32 is a good thing.

Either way I am looking at building a multi threaded java application on my micro handling the serial ports and an xml driven protocol over TCP/IP to handle the remote operation. Autonomous behaviours will come eventually.

Neil

I’m teasing you a bit here, so don’t take offense :wink: ]
I did the “true OO” thing for a couple of years, then I slapped myself and came back to the real world. With small CPUs, I don’t think that Java-type OO methodologies are the best choice. I did Java work to run on large Windows servers with 2GB of RAM, and even in that environment it was annoying (JRE versioning issues, memory-hogging, slow performance, etc.).

Yes, I2C is very useful. Also check into the Dallas “1-wire” interface. Your board probably already has it built-in.

Don’t get too hung up on that idea - when working so close to the hardware, you may be making your life extra difficult, with no real benefits. The point of abstraction is to make things more sensible to humans, but bits in a register don’t give a flip-flop what the humans think, because the humans are not interfacing at that level. When you’re banging bits to make I2C work, your code needs to be “specific and direct”, rather than “abstract”.
I recommend saving the “OO abstractions” for the very highest-level stuff, such as when you have a color LCD screen like a PDA, and you need a simple and intuitive interface for a person to use.

Remember in the typically beginner’s “OO Programming” class (no pun intended), they teach an example such as “let’s make a Class that draws a line, and then use our OO techniques to make another class to draw a box.” They never explain how the JRE talks to the PC’s hardware to actually make pixels appear on the screen. It is extremely hardware-specific, and is not an OO-oriented thing.

In short, now that you’re working with robotics and small microprocessors, you are now working on the other side of the JRE (so to speak), where OO and Java is not that useful. You’ve come back from the Dark Side… :smiley:

Pete

no offense taken - its very hard to offend me 8)

hmmm I thought it was just me who experienced that :laughing: - I have a meeting next week to discuss the speed of some reports… - some recent work with different JREs has shown me some version blips.
hehe

you are right there is a huge amount of overhead living in the “conceptual space”, I haven;t delved into the embedded side of things for quite some time. Honestly I am going to find it refreshing to get away from high level objects and get down and dirty with some hardware. Its more raw and natural and the power of small micros will likely impress me. OO on micros is an illusion at best - I realize that, I’ll reserve it for the proper side of the JRE,
:wink:

So am I destined to live back in a procedural world when it comes to micros? Probably not -, I think OO programming as it relates to the micros will be the greatest help when doing things like AI and autonmous behaviours. I agree that the level at which servos are controlled is a very procedural platform specific interface but the interface to that piece of logic should enter the object space.

To exist in the conceptual space costs a price - a big one that small devices can’t pay. The cost for simplicity. Performance can always be gained through an increase in complexity. like SAY writing a full windowing program in assembly!! ow that hurts my head.

I am excited to get my parts and get started doing anything. Are there any special tools/connectors?

I have a solder station… triple digital power supply a killer FLUKE multimeter that can source signals… but I am not sure about other little accessories I’ll most like want on hand.

Generally, but probably not always. I stay in that world deliberately these days. Your OO experience could (should) improve the quality of your procedural code. It may not be practical to do things like inheritance and polymorphism, but you should have a ‘natural’ view of how to write a good procedure - things like writing functions so that they have only one exit point, doing encapsulation whenever possible, avoiding the use of GOTO, etc. When working with small micros, one ‘bad’ thing that’s really hard to avoid is the use of global variables. The reason is that the low-level HW that you are manipulating is, in effect, a global thing. You cannot really tell the HW that a certain register can only be accessed from a certain function. If you try hard to avoid globals, you end up bloating your code a lot. In Java, that’s not a problem, because all programs are bloated anyway :wink: .

Since you’ve already got a DMM and a power supply, I’d suggest that an oscilloscope should be at the top of your list. There are PC-based scopes that are probably fine, but I’d go with a ‘real’ one if possible. I would go for a high-quality used/older scope, rather than a cheap new scope. Tektronix is the #1 brand. Agilent (formerly HP) is good too. There are some good foreign brands, but I have no experience with them.

Another great thing to have is one of those prototyping boards, and a supply of #24 or #26 tinned & insulated wire to make jumpers with.

Also a few ‘clip leads’ - test hookup wires with alligator clips (or the equivalent) on the ends. Try for the smaller type of clips if possible.

Pete

great advice - thx!

my rover parts are expected to be delivered today! - I cleaned my home “lab” in anticipation - kind of like an empty operating room gleefully waiting for my new patient! muuhhaaahhahaaha.

so I can’t find my old wrist ESD from days of old, I could just tie some copper wire to my ______ , right? and ground it through my power supply… I’d hate to frye any of these components, especially the organic ones :smiley:

Also I found some killer Zigbee rs-232 to radio… gridconnect.com/gc-wlm-xbp24-pkc-001-ra.html

power draw is 300 mA - 5 v supply.

Also a question about servos - is power drawn to hold a servo position in one place ? or does the servo have some sort of gear locking cam inside it? I am trying to guage how much draw the bot will have if its driving around waving its arm.

I have also deciced to name the robot “PROTEUS-RV1” - mainly cause it freaks my wife out! :stuck_out_tongue: :laughing:

About the osillyscope, again it’s years since I touched one - I wanted one then but I can;t recall why I wanted one, can someone give me an example on my project why I might need one?

Where/when might I need to look at waveforms? (excuse my ignorance - its been a while since I have visited the dark side)

Neil

Hi Neil,
Um… That’s he worst thing to do. An ESD wrist band is a direct connection to your skin, but the cable is like in the order of megaohms! It is meant to safely absorb the charge. By connecting a part of your body to earth ground in a low humidity environment, not that you said you are in one, is the best way to zap something. :stuck_out_tongue: The reasoning behind this is say your ankle is grounded, but your parts are not. Any static build up from your clothing or whatever will be passed on to the ungrounded part as you go to pick it up.

whew - good thing I didn’t try to make one.

I am off to the city to get one right now!

Neil

Hi Jim,
I must disagree with you here.

Two points:

  1. Grounding yourself with a plain wire is a good thing for ESD purposes, but the reason not to do it is safety. If your body is connected to ground through a low-resistance path, and you touch something of a moderately high voltage, you could electrocute yourself. Instead of feeling just a ‘tingle’ when you touch the AC line, you could feel your heart stop… The purpose of the resistance that is built-in to an ESD strap is limit any current flow to a low enough value to be safe, but it is still a relatively low resistance path w.r.t. the static charges.

  2. The second part of what you said is the opposite. You risk damaging components the most by not grounding your body, and then touching the HW. The static charge is mostly being developed on your body/clothing. The parts sitting on the bench typically have little or no static charge on them. When you touch them, your body’s charge tends to move to whatever you touched. That ‘movement’ of the charge is what causes damage.
    The situation becomes worse if (for example) you have a good charge on your body, and your equipment includes wiring that (for example) goes to a power supply which is connected to an AC plug. Now your equipment is effectively grounded, so touching it causes a major static discharge.

Pete

Ok, no problem. I don’t want to hijack this post and turn it into an ESD one. I admit I’m not an expert on the subject, so suffice it to say, it’s a bad idea. We both agree on that anyway. I officially withdraw any technical rational on the subject. :wink:

All of what Jim said is true.

I had to go through ESD training every year for years. It’s not the ESD charges that cause the dammage, it the sudden discharge of it. If a 1meg Ohm resistor is used, it slows the static discharge to safe leves for both the person and device.

I did not mean to continue with any hijacking but this is important I think to insert in this thread while it’s brought up.