Quote:
Originally Posted by Chris is me
One solution I've seen done before is a virtual robot model, but I have no idea how that works. Could someone explain that to me?
|
The entire idea is to create a piece of software that pretends to be the robot and will hopefully respond correctly when the robot controls are activated. The problems that you run into doing this on a first bot is that an accurate physics model is needed for a lot of the debugging. I'm not completely sure, but I think labview has something that can do this type of accurate physics modelling.
For example if you wanted to program a closed loop control of an arm, one would need a full model of the arm, the gearbox with accurate efficiency losses and a very accurate model of how the motor responds to different voltages and currents.
If you want an analogous example, I use a virtual machine to do all of my programming. This is a piece of software that runs another operating system inside of mine, and this second operating system has no idea that it isn't running on real hardware. Same basic idea since the robot code should have no idea that it isn't running on a real robot since the virtual one should ideally respond identically. The virtual machine that I do my coding in has the advantage that all network and graphics drivers are automatically supported and I don't have to worry about browsing the net since there is no way to harm the base operating system. Similarly with the robot, you can't hurt the robot while your doing your basic testing. It is much safer to watch a virtual robot run into the wall instead of the actual robot (after all, electrons do so much less damage when they hit things

)