Telemetry Revisited
The Xbee mechanism for monitoring the mower is exceptionally useful and I'm glad I spent the time on it. It shows the decisions being made and the bearing the mower should be following. As more features are being added, I found it would be useful to instruct the mower to either send specific data back or otherwise execute specific code. Initially, this meant uploading new test-code from the IDE and although not onerous, we could do better.
Push as well as Pull
I've added a rudimentary mechanism that allows me to control certain aspects of the robot which is very useful. The following table lists the commands currently supported and this will no doubt grow over time. These are sent from the 'Send String' window in coolTerm, over the Xbee link. The commands are case insensitive although I will use capitals to distinguish them.
| Command |
Purpose |
| HDG |
Return current heading as well as the x,y,z magnetometer reading in gauss. |
| COM |
Test compass readings while turning motors (no PID control) |
| CO2 |
Compass heading loop without motors turning. |
| CAL |
The mower will do a full Compass calibration, spinning in a circle for 10 seconds. |
| SET:[val] |
Change the setpoint bearing (where we are aiming for in degrees). |
| MO0 |
Mowing test0 (timed stripes) - no obstacle detection |
| MO1 |
Mowing test1 (bump sensors only). |
| MO2 |
Mowing test2 (bump sensors and front sonar). |
| MO3 |
Start mowing test3 (sonar and bump sensors stripes). |
| MO4 |
Start mowing test4 (going around object with side sonars (basic)). |
| MO5 |
Start mowing test5 (Turn delta degrees). |
| SON [val] |
Turn on sonar test val=0 to turn on. |
| STP |
Stop mowing. |
May 2018
|