Newbie Boe-Botter ...
I just got my Boe-Bot Saturday afternoon and the USB-Serial cable by 10pm. Since then, BOE and I have been constant companions. I played with just the BOE for hours, and finally assembled the robot (with tank treads of course) Sunday evening. Of course, I have a few questions.
1) While playing and testing servos, I discovered my servos have different rotational rates. I figured out how to match them both by adjusting the pulsewidth of one (as an absolute value or as a percentage), but it only works for one speed, although I could figure out the values for other speeds by trial and error. Naturally, I'd like to ramp the accel/deceleration of the bot, and would like to program different turn rates, but the algorithm for calculating this "speed offset" must be more complicated (log? parabolic?) than my basic math skills. I couldn't find anything in the book about this (skimming). Suggestions?
2) I'm a bit frustrated with constantly having to plug in a serial cable, download the program, unplug and test, edit program, repeat. Ultimately I'd like a martian-rover setup where I can communicate commands via RF. Is there an RF appmod that would allow me to upload the program via RF? Or must the basic program be running on the Stamp and it just deals with input via RF?
3) I haven't yet depleted a set of batteries (AA), but am considering upgrading the bot's power source. I'm thinking of using rechargable (NiCad or NiMH?) batteries from an RC setup ... either 6 or 7.2V ... and possibly an on-board charger. If I used the 7.2V would it boost the speed of my servos (which seem a bit slow with the tank tread mod). Any other worries about upgrading the batteries? (like the added weight of the batteries further degrading the performance of the servos)
Thanks in advance.
A stoked bot owner,
Bill
1) While playing and testing servos, I discovered my servos have different rotational rates. I figured out how to match them both by adjusting the pulsewidth of one (as an absolute value or as a percentage), but it only works for one speed, although I could figure out the values for other speeds by trial and error. Naturally, I'd like to ramp the accel/deceleration of the bot, and would like to program different turn rates, but the algorithm for calculating this "speed offset" must be more complicated (log? parabolic?) than my basic math skills. I couldn't find anything in the book about this (skimming). Suggestions?
2) I'm a bit frustrated with constantly having to plug in a serial cable, download the program, unplug and test, edit program, repeat. Ultimately I'd like a martian-rover setup where I can communicate commands via RF. Is there an RF appmod that would allow me to upload the program via RF? Or must the basic program be running on the Stamp and it just deals with input via RF?
3) I haven't yet depleted a set of batteries (AA), but am considering upgrading the bot's power source. I'm thinking of using rechargable (NiCad or NiMH?) batteries from an RC setup ... either 6 or 7.2V ... and possibly an on-board charger. If I used the 7.2V would it boost the speed of my servos (which seem a bit slow with the tank tread mod). Any other worries about upgrading the batteries? (like the added weight of the batteries further degrading the performance of the servos)
Thanks in advance.
A stoked bot owner,
Bill
Comments
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Knight Designs
324 West Main Street
P.O. Box 97
Montour Falls, NY 14865
(607) 535-6777
Business Page:·· http://www.knightdesigns.com
Personal Page:··· http://www.lightlink.com/dream/chris
Designs Page:··· http://www.lightlink.com/dream/designs
·
leftServo = 850
rightServo = 690
leftServo = 650
rightServo = 807
bill
My other question is about mounting a giant laser and circular saw blade to the Bot to complete my Robot-of-death... but that will have to wait - LOL
Using just software, the LOOKUP command is probably the most efficient way to match your servo speeds.· Assuming you completed the last activity in Chapter 3 of Robotics with the Boe-Bot, you will have graphs of both servo speeds vs. pulse widths.· You can use these to determine matching PULSOUT durations.··Then, place the pairs of pulsout durations in LOOKUP commands to set the values of variables that control the pulse·durations for each servo.· Here is an example program (below and attached)·that you can use to test this with your Boe-Bot.· Use the values from your graphs in Chapter 3, activity 4 in place of the generic ones in the LOOKUP commands.· There should be a noticeable improvement at 10 different speeds.· You can also expand this; the LOOKUP command accepts up to 256 different values.
While this solution works to some extent, the best solution is the Boe-Bot Digital Encoder Kit.· The example programs in the kit's documentation demonstrate how to read the passage of the holes on the inside of the Boe-Bot wheel and adjust the servo pulse durations to get the desired speed/distance.
2) Not at present.· According to FlexiPanel IR Hardware Data Sheet (.pdf), a prototype exists, so it might not be too long before we see a product that performs this function.
3) Yeah, if you can get a 6 V rechargeable battery, that would work well.
Post Edited (Andy Lindsay (Parallax)) : 1/25/2005 6:21:41 PM GMT
1) My understanding is the Digital Encoder Kit does not work with the tank tread kit ... but your LOOKUP command looks promising. I had anticipated building an array like this and accessing it through and index (PBASIC doesn't support hashes does it?).
3) Any thoughts on what it would take to provide/build and onboard charging circuit that I could just plug into to charge the batteries?
bill
Todd;
Let me know when you get the laser and saw blade operational ... I'm working on the "killAllHumans" subroutine now.
bill
This is what that LOOKUP matrix looks like:
LOOKUP speed, [noparse][[/noparse]850, 830, 810, 790, 770, 750, 730, 710, 690, 670, 650], pulseLeft
LOOKUP speed, [noparse][[/noparse]684, 691, 700, 713, 729, 750, 766, 785, 798, 805, 809], pulseRight
bill
Those LOOKUP tables definitely save some time. I'm glad they worked.
It'll be interesting to find out if there is drift due to battery level and/or usage. Keep us posted.
Todd - I can't answer about the servos, because I'm a newbie too .... but here is quick hack I did to figure out my "servor matrix" .... I used releativley long run times (600+) because I'm using tank treads and I figured out how long it would take so the slow servo would end up back in the same spot (multiple rotations). Then I just "trial-and-error" tested until I got the fast servo to match.
Post Edited (rHOnDO) : 1/27/2005 4:39:24 AM GMT