Robot Mower Communications Standard: Unterschied zwischen den Versionen
Aus www.wiki.ardumower.de
(→Robot sensor trigger event (sensor trigger counters)) |
(→Robot sensor trigger event (sensor trigger counters)) |
||
Zeile 64: | Zeile 64: | ||
=Robot sensor trigger event (sensor trigger counters)= | =Robot sensor trigger event (sensor trigger counters)= | ||
− | $RMTRG,ml,mr,bl,br,bc,pfl,pfr,pfc,prl,prr,prc, | + | $RMTRG,ml,mr,bl,br,bc,pfl,pfr,pfc,prl,prr,prc,t<cr><lf> |
*ml: motorLeftStall | *ml: motorLeftStall | ||
*mr: motorRightStall | *mr: motorRightStall | ||
Zeile 76: | Zeile 76: | ||
*prr: perimeterRearRight | *prr: perimeterRearRight | ||
*prc: perimeterRearCenter | *prc: perimeterRearCenter | ||
− | * | + | *t: robot orientation tilt |
− | + | ||
=Robot mower configuration (type of sensors)= | =Robot mower configuration (type of sensors)= |
Version vom 8. Januar 2017, 00:02 Uhr
Describes message format used to externally control a robot mower (e.g. Ardumower-based).
Inhaltsverzeichnis
- 1 Requirements
- 2 Message format
- 3 Messages
- 4 Set mowing state (start,stop,dock)
- 5 Robot state event (robot state, errors, battery, charger)
- 6 Robot sensor data event (sensor values)
- 7 Robot sensor trigger event (sensor trigger counters)
- 8 Robot mower configuration (type of sensors)
- 9 Move robot until sensor trigger
- 10 Keep ongoing action (mower communications saftety)
- 11 DW1000 beacons ranging
- 12 Proprietary
Requirements
- Serial interface (or serial USB)
- ...
Message format
NMEA 0183 compatible format (ASCII encoded)
message structure: $IDMSG,data,<cr><lf>
message components:
- $: start of message symbol
- ID: RM (robot mower), DW (DW1000 beacons), ...
- data: message data (see below)
- <cr><lf>: end of message symbol
example: $RMSEN,1,1,0,0,0,0,1,0,0,179,0,0,0,0<cr><lf>
Messages
- $RMMOW: Set mowing state (start mowing, stop mowing, go to docking station)
- $RMSTA: Robot state event (robot state, errors, battery, charger)
- $RMSEN: Robot sensor data event (sensor values)
- $RMTRG: Robot sensor trigger event (sensor trigger counters)
- $RMCFG: Robot mower configuration (available sensors)
- $RMMOV: Move robot until sensor trigger
- $RMKOA: Keep ongoing action (mower communications saftety)
- $DWDAT: DW1000 beacons ranging
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, charger)
$RMSTA,s,e,b,c,h,l,r<cr><lf>
- s: robot state: stopped (0), mowing (1), busy (2)
- o: docking state: not docked (0), docked (1)
- e: error
- b: battery percent
- c: charging percent
- h: absolute compass heading in degree
- l: left odometry counter
- r: right odometry counter
Robot sensor data event (sensor values)
$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 sensor trigger event (sensor trigger counters)
$RMTRG,ml,mr,bl,br,bc,pfl,pfr,pfc,prl,prr,prc,t<cr><lf>
- ml: motorLeftStall
- mr: motorRightStall
- bl: bumperLeft
- br: bumperRight
- bc: bumperCenter
- pfl: perimeterFrontLeft
- pfr: perimeterFrontRight
- pfc: perimeterFrontCenter
- prl: perimeterRearLeft
- prr: perimeterRearRight
- prc: perimeterRearCenter
- t: robot orientation tilt
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)
Move robot until sensor trigger
$RMMOV,l,r,p,i,d,o<cr><lf>
- l: left motor target ticks per frame
- r: right motor target ticks per frame
- p: PID_Kp
- i: PID_Ki
- d: PID_Kd
- o: PID_Ko
Keep ongoing action (mower communications saftety)
$RMKOA<cr><lf>
DW1000 beacons ranging
$DWDAT,t,b1,b2,b3,b4,...<cr><lf>
- t: timestamp
- b1,b2,b3,b4,...: beacon ranging in meter
Proprietary
- Any proprietary messages not defined by this protocol