Robot Mower Communications Standard: Unterschied zwischen den Versionen
Aus www.wiki.ardumower.de
(→Start mowing) |
(→Application control) |
||
Zeile 17: | Zeile 17: | ||
==Application control== | ==Application control== | ||
− | *Set mowing state (start mowing, stop mowing, go to docking station) | + | *$RMMOW: Set mowing state (start mowing, stop mowing, go to docking station) |
− | *Robot state event (robot state, errors, battery) | + | *$RMSTA: Robot state event (robot state, errors, battery) |
− | *Robot sensor event (sensor values, sensor trigger counters) | + | *$RMSEN: Robot sensor event (sensor values, sensor trigger counters) |
− | *Robot mower configuration (available sensors) | + | *$RMCFG: Robot mower configuration (available sensors) |
===Set mowing state (start,stop,dock)=== | ===Set mowing state (start,stop,dock)=== | ||
Zeile 27: | Zeile 27: | ||
===Robot state event (robot state, errors, battery)=== | ===Robot state event (robot state, errors, battery)=== | ||
− | $ | + | $RMSTA,s,e,b<cr><lf> |
*s: stopped (0), mowing (1) | *s: stopped (0), mowing (1) | ||
*e: error | *e: error | ||
Zeile 33: | Zeile 33: | ||
===Robot sensor event (sensor values, sensor trigger counters)=== | ===Robot sensor event (sensor values, sensor trigger counters)=== | ||
− | $ | + | $RMSEN,bl,br,bc,pfl,pfr,pfc,prl,prr,prc,ih,ip,ir,ga,go<cr><lf> |
*bl: bumperLeft | *bl: bumperLeft | ||
*br: bumperRight | *br: bumperRight |
Version vom 7. Januar 2017, 19:57 Uhr
Describes message format used to externally control a robot mower (e.g. Ardumower-based).
Inhaltsverzeichnis
Requirements
- Serial interface (or serial USB)
- ...
Message format
Not defined yet (ideas: NMEA 0183, SAE J1939, ...)
Messages
System control
- Get implemented message types:
- application control
- actor and sensor control
- propriertary
Application control
- $RMMOW: Set mowing state (start mowing, stop mowing, go to docking station)
- $RMSTA: Robot state event (robot state, errors, battery)
- $RMSEN: Robot sensor event (sensor values, sensor trigger counters)
- $RMCFG: Robot mower configuration (available sensors)
Set mowing state (start,stop,dock)
$RMMOW,s<cr><lf>
- s: stop mowing (0), start mowing (1), go to docking station (2)
Robot state event (robot state, errors, battery)
$RMSTA,s,e,b<cr><lf>
- s: stopped (0), mowing (1)
- e: error
- b: batteryPercent
Robot sensor event (sensor values, sensor trigger counters)
$RMSEN,bl,br,bc,pfl,pfr,pfc,prl,prr,prc,ih,ip,ir,ga,go<cr><lf>
- bl: bumperLeft
- br: bumperRight
- bc: bumperCenter
- pfl: perimeterFrontLeft
- pfr: perimeterFrontRight
- pfc: perimeterFrontCenter
- prl: perimeterRearLeft
- prr: perimeterRearRight
- prc: perimeterRearCenter
- ih: IMUcompassHeading
- ip: IMUpitch
- pr: IMUroll
- ga: GPSlatitude
- go: GPSlongitude
Robot mower configuration (type of sensors)
$RMCFG,d,pfl,pfr,pfc,prl,prr,prc,ih,ip,o,g
- d: Docking station available (1/0)
- pfl: perimeterFrontLeft available (1/0)
- pfr: perimeterFrontRight available (1/0)
- pfc: perimeterFrontCenter available (1/0)
- prl: perimeterRearLeft available (1/0)
- prr: perimeterRearRight available (1/0)
- prc: perimeterRearCenter available (1/0)
- ih: IMU compass available (1/0)
- ip: IMU pitch/roll available (1/0)
- o: Odometry available (1/0)
- g: GPS available (1/0)
Actor and sensor control
- $RMMOV: Rotate by x degrees and move with speed y RPM until sensor trigger
- $RMMOV: Keep ongoing action (mower communications saftety)
Rotate and move
$RMMOV,d,r<cr><lf>
- d: rotate degrees
- r: move rpm
Keep ongoing action
$RMCOA<cr><lf>
Proprietary
- Any proprietary messages not defined by this protocol