Changing plumbing on robot
Currently, the only way to control the robot or alter its behavior is by a script, pretend to be a joystick, or modify the robot program itself. All of which I have done as needed. I gets pretty tedious and frustrating to do interesting things when you have to modify and recompile a "working" robot program, each and every time, to do something different.
Therefor, what is being done is to scrap the "netstick" networked joystick and move it to a more generic message passing interface. The networked joystick will still work, but it will communicate through the new interface.
This new interface will provide, in addition to current capabilities, the ability to handle more generic functional messages with meaningful return values. Currently the envisioned new messages include move, rotate, stop, and the ability to read and/or set operational values as well as read sensor values. In addition to message passing, a shared memory system will also be incorporated for local control processes for higher performance access to internal values of he robot.
When complete, this should allow a separate self contained process to take control and direct the robot without modifying the robot program itself. This will facilitate a simplified interface for developing robotic behaviors. Instead of editing the robot control program, it should be trivial to create a simple program, in almost any programming language, to read sensors, calculate path planning, and issue move statements.