![]() |
robot control emulator for default or other program
has anyone ever made an emulator for the robot controller so we can see the effects of changes to the default program?
|
I dont know if anyone has made one, I dont know about it. It sure would be nice though. When you test your program on the robot, put it on a cart with the wheels hanging off. Also make sure that everyone clears out. Get a longer serial cable. Last year when I loaded a new program, the robot went into full reverse and plowed into the guy behind it. Now they all listen when I say "stand back".
|
I know there was a spreadsheet simulator for the drive train that someone made last year. I think I have it on my laptop and I will check later tonight and post it. I do not know of any emulator for the entire system. It would be nearly impossible as all robots are so different.
|
Re: robot control emulator for default or other program
Quote:
* If you want to see the effect on the motors, disconnect the PWM cable from the Victor, and put a servo on the output instead. * You can see the effect on the LED of Spikes with no load. * You could use a big DEBUG statement to see the effect on the value of variables, of your calculations. * To try out different values from sensor inputs, temporarily type in an assignment for the variable. * And you could watch the dashboard for variables, too. The best "emulator" is still the robot, but there are ways. |
Hmm, is there a way that someone could develop a program to emulate the actual robot controller? I have had many a night where i wished i had a robot controller at my hosue (i did a lot of programming at home), because i would write some code, and not be sure if it was right. If there was some way to emulate (in software) the robot controller, i'm sure many people would rejoice. I'm not sure if it's possible, but Palm managed to make an emulator for a Palm Pilot, so i would think to make it for a robot controller would be doable, i just don't know how hard.
|
maybe this is something we could work on once we ship the robot. A program that would emulate the robot controller would help most teams. Maybe we should try to orginize an atempt to try to create an eumulator like this.
|
I can see lot's of potential for such a program, yet I wouldn't know how to help much. The only programing I can do is PBASIC and some C++. I could help test the program, but beyond that, I can't help.
|
An emulator for the robot controller has been a project I've been saving for a rainy day. Over all, you'd have to write a parser for the PBasic language and calculate from there. It's not a trivial project and not one to take lightly. I'd recommend a rather heavy programming background before taking it on. I was thinking of implementing it in Java for maximum platform independence but that's also because GUI's in Java are quite a bit eaiser than in Windows. But that's just my opinion of the matter.
Matt |
Um, right. I don't know Java, so I'm not really sure what you're talking about. Is there any chance that you would be able to make at least a beta of such a program by the time of the first regional? Or is that asking too much? Since I don't know Java, I don't know how long it takes, but from what you're saying, it doesn't look like an emulator is in the works anytime soon. Oh well, next year. :D
|
yeah I am not that experiance in programming so I don't think I would be much help.
|
Heh, we're all saying how little we can do. Maybe if we decided upon a common language, we could all do a little bit of it? I know it's not the best way to do it, but if we all did some of it, we'd learn smoe more programming skills, and we might get the project done sooner. This program could be one of the best things that we have, because we can still program "our robot" after it's shipped. Now, all we would need to do this is a "group leader" who knows more than everyone else about the launguage we would use. They could assign parts of the code out, and then compile all the parts that come back. I think if we tried this, it could work. At least it's better than all of us saying, well, i only know this, or i only know that, because you can learn as you go.
Reardles of whether you like this idea or not, please, let's try to work together to make this happen, or if you think there's a better way, post it! The only way this is going to get done is if somone starts working on it more or less now. :D |
that is a good idea. I like the idea of making in it Java so it will work on most platforms.
|
Quote:
Matt |
Ok,
First, get a box. Than get a cable running from the back of your computer port into the box. Put duct tape around the whole thing, with the roll in the box, and if you programming is correct, it should humm and get warm to the touch. If it goes up in flames, or does nothing, your programming is incorrect. :D Ok, ok, for real. I would like to help. I know a "skimming" ammount of pbasic, and would like to know how i can get a hold of some C, C++, and Linux programs, for free and small (i am on a 56k modem), so i can learn and help out w/ this program if it goes through! |
actually we happen to have someone that we tried to convince to do create an emulator all by himself (he could do it). the problem is that its a very hard task to undergo by urself. if someone decided to go through with it just give me an email and ill try to talk with him and see if i can convince him to work on it with some help from other people. otherwise well just have to convince him to do it next year.
also im quite confused on this whole duct tape thing... i got the thing duct taped and all but how do i get the roll of duct tape into the box after ive taped it all up? :confused: im really gonna need some help here |
Well, in the absence of an emulator:
Pull out a big sheet of plywood. Add one RC, generous numbers of relays, speed controllers, some breakers, fuses and wire. Ducktape and sheetrock screws are a godsend here Strap some motors, pistons, servos and other doohickeys as needed. Duck tape and ziptie as needed. Open the breaker, download program, play with controls. Rinse wash and repeat as needed. This is really only useful during the build, before all they toys end up on the 'bot, or if you have spares lying around. The advantage of this is that it gives your electrical guys a chance to wire some stuff before the 'bot is done, and a chance for you to see if motors are going to spaz out as soon as you toss the switch. At the very least it gives the sparky guys something to do while the 'bot is being made. |
i always have spare pistons servos and speed controllers just lying around my house... maybe ill build myself one of these dohickys. not sure how this will help me when i want an emulator on my computer but it sounds pretty cool and fun.
|
DUH!!
Get 2 rolls of duck tape! You first put 1 roll in the box, AND THAN tape up the box!! But make shure the wires from the back of the box are touching the duck tape. THAN, you are good to go! Hope this helps!! P.S. For the people that are going crazy about me calling it Duck Tape, i'm sorry. :) I know it is called Duct tape, but i like duck better... |
Careful, Matt
Quote:
|
I have a knowledge of C++, Java, and PBasic. I could definitely help write it if someone wants to.
|
I know limited Pbasic and a bit about C++. I'm currently learning HTML in my spare time (yes, I managed to find some), but thats it. I'd be more than willing to help do an emulator, cause then i could program at home, in the relative peace, quiet, and non-craziness of the robotics room at my school. Also, the "board' approch works well, yet it is limited in it's usefullness, especially when you're a rookie team with no spares. :D
|
Well, if they do come after me, i will give them the explaniton that Ian W. gave me. I think that there are ducks in the ducts and they need this tape in order to keep in proper maitence...
|
I'm fluent in C++, know P-BASIC, and am willing to learn Java. Please, please, let me help you with this. E-mail address: ulibrium@hotmail.com
|
Rat Pack 830's Simulator board
Quote:
We didn't get much usage time on it THIS year, but even so, it DID point out some problems for us. But now it is MADE. The ring tongue lug ended harnessing stays with the board. Part locations are premarked with marker pen outlines so it's OBVIOUS where everything goes. Spikes, Victors, and the RC have predrilled holes with T-nuts nailed captive to the board so they will attach in seconds with machine screws instead of wood screws (longer board life). Motors are attached with automotive hose clamps that are permanently screwed onto the board. NEXT year, if all goes well, our simulator will be up and running in ONE DAY! We simply drop the new Victors, Spikes, and RC onto their outlines, attach the new motors to their hose clamps, connect the premade harness, and throw the switch! It is a VERY COOL simulator board, with LOTS of neat features. Examples: We used the "spare" breaker board for power distribution. For power, in addition to a strap and wiring for a robot battery, it also has its own 12V 8A supply from an old PC, and metering outputs, so you don't need to use a bot battery for simple tests without the motors. We'll be adding a current probe to it soon. Given the funds we COULD add a more serious power supply that can also drive motors as well from the AC, or else a marine deep cycle battery & a charger, but we'll probably just end up using THIS year's batteries for the board. We're considering writing up the entire thing for sharing later, once we're done tweaking it. Would there be interest in that from anyone? Unfortunately, we need to do some repairs first before we take the pics of it, but that'll definitely be done before this fall, in time for the next contest. On the ONE DAY I was sick, some student (without permission) pulled some parts incorrectly and gutted the harness in the process <GRRRR>. (Needless to say, we're also going to make a locking clear plexy cover for it so that it can be USED, but not TOUCHED without permission any more! :) ) - Keith McClary, Advisor, Huron High 830 Rat Pack |
Another simulator people haven't mentioned yet is simply taking a Parallax Stamp-II BOE (Board of Education) board. Let it run the robot code, and tie it to a BOE-BOT (Board of Education Robot) with an umbilical.
You simply solder on some joystick connectors (and their caps) to the BOE, and add the joystick conversion routine. Ignore the original "init" conversation. The BOE takes the robot code, and talks to the BOE-BOT via an umbilical with the normal SEROUT packets. The BOE-BOT is programmed to interpret the packets, and run the BOT-BOT motors accordingly. Since the BOE-BOT uses servos modified for continuous rotation as motors, this corresponds PERFECTLY to a pair of motors run by Victors! You MAY need a third Stamp-II riding piggyback on the BOE-BOT, as you can't PWM the motors and listen to the serial input at the same time, but that's TBD... A SECOND way also requires a BOEBOT with a second BOE on its back. Have the BOE interpret the TETHER packets and run the BOE. Now your drivers can use your actual OI control board to run a MODEL robot around your hotel rooms for more practice! :) In either case, if you don't want to make a full model of your robot, simply use spare RC servos perched on the BOE-BOT's back with toothpick flags waving around to represent Victor motors or gadget positions, and bicolor LEDs (with series resistor) across Stamp pin pairs to represent Spike gadgets. Here are the links for the BOE and the BOE-BOT: - http://www.parallaxinc.com/html_file...-bot_brief.asp - http://www.stampsinclass.com/html_fi...culum_robo.asp - http://www.stampsinclass.com/html_fi...s/boe_kits.asp Note that there are DIFFERENT prices for these products depending on which link you follow! There are also school discount prices for all Parallax products, and Parallax from time to time has been known to run sales on them, so inquire directly instead of web ordering to get the best price. - Keith McClary, Advisor, Huron High 830 Rat Pack |
that confuses me. a simple program for the computer would be so much easier to use, for me at least. :D
|
Simulation vs Emulation
Quote:
SIMULATION normally implies a piece of software that "tries to run" the code, with imaginary hardware, interacting with an imaginary real world, and gives you "results". That's rather hard to do here, as in this case we're talking some SERIOUS, REAL TIME interaction with both the operator and the real physical world. For example, it is hard to simulate your robot tipping over because your software said to do something strange without simulating the entire physical environment too. There are programs that'll DO that, but they're not cheap, and this isn't something you normally write in a day or two without a serious solver engine of some kind behind you. If you're not talking that level of simulation, then what are your true goals here? The Stamp programming environment already checks your syntax for you, and without some real world interaction on the RC end of SOME kind, your results aren't going to be very useful. OTOH, EMULATION normally means that SOME hardware is involved, although normally not the true stuff. It all boils down to what you want to do, and how far you're willing to go with your simulation before involving hardware. Syntax and Sanity checkers are one thing, but TRUE simulation in anything like real time is quite another. IMHO, this is definitely a situation where Emulation would be MUCH easier, cheaper, faster to get running, and more useful, than Simulation. You first create SOME kind of a physical model of the robot, whether out of Lego Technic, a BOE-Bot, an RC car, Kynex, Tinkertoys, or whatever. This takes care of the physical world part. You then only have to emulate the interaction between your control set and the RC, and the RC to the model, with something in the middle representing the RC that'll run PBASIC. That should only take a micro or two. I think if you get creative, and restrict the number of I/O channels, you can emulate the entire OI/RC set much more cheaply than simply buying another copy of the Innovation First hardware. Stamp-IIs and PIC micros are pretty cheap. BTW... There is even now a drop in replacement for a Stamp-II called the ATOM that gives you floating point math! Note that you CAN use a PC as the joystick OI front end. Simply tie it to a Stamp board with a serial port. You then tie the Stamp (or Stamp equivalent) to the real motor model platform. NOW you have a hardware platform that'll give you some SERIOUS results, AND allow you to practice! Bottom line: IMHO, you need SOME hardware in this, somewhere, or else you're in for a big development, or won't get useful results. RC cars and chips are cheap. I feel the optimum solution is a mix of software and hardware, but WHERE you draw the line is up to you and your expertise. - Keith McClary, Advisor Huron High 830 Rat Pack "Want to emulate the speed of an IBM XT at 4.77MHz? Simple: Try running Windows on a 486..." |
| All times are GMT -5. The time now is 12:48. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi