Robot Mower Communications Standard: Unterschied zwischen den Versionen
Aus www.wiki.ardumower.de
(→Robot sensor event (sensor values, sensor trigger counters)) |
(→Actor and sensor control) |
||
Zeile 50: | Zeile 50: | ||
==Actor and sensor control== | ==Actor and sensor control== | ||
− | * | + | *$RMCFG: robot mower configuration (type of sensors): |
**Docking station available | **Docking station available | ||
**Perimeter sensor available (front: left, right, center - rear: left, right, center) | **Perimeter sensor available (front: left, right, center - rear: left, right, center) | ||
Zeile 57: | Zeile 57: | ||
**Odometry available | **Odometry available | ||
**GPS available | **GPS available | ||
− | *Rotate by x degrees and move with speed y RPM until sensor trigger | + | *$RMMOV: Rotate by x degrees and move with speed y RPM until sensor trigger |
− | *Keep ongoing action (mower communications saftety) | + | *$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== | ==Proprietary== | ||
*Any proprietary messages not defined by this protocol | *Any proprietary messages not defined by this protocol |
Version vom 7. Januar 2017, 19:47 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
- Set mowing state (start mowing, stop mowing, go to docking station)
- Robot state event (robot state, errors, battery)
- Robot sensor event (sensor values, sensor trigger counters)
Start mowing
$RMMOW,s<cr><lf>
- s: stop mowing (0), start mowing (1), go to docking station (2)
Robot state event (robot state, errors, battery)
$RMSTAT,s,e,b<cr><lf>
- s: stopped (0), mowing (1)
- e: error
- b: batteryPercent
Robot sensor event (sensor values, sensor trigger counters)
$RMSENS,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
Actor and sensor control
- $RMCFG: robot mower configuration (type of sensors):
- Docking station available
- Perimeter sensor available (front: left, right, center - rear: left, right, center)
- IMU available
- Compass available
- Odometry available
- GPS available
- $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