Robot Mower Communications Standard: Unterschied zwischen den Versionen

Aus www.wiki.ardumower.de
Wechseln zu: Navigation, Suche
(Application control)
(Robot mower configuration (type of sensors))
Zeile 50: Zeile 50:
  
 
===Robot mower configuration (type of sensors)===
 
===Robot mower configuration (type of sensors)===
$RMCFG
+
$RMCFG,d,pfl,pfr,pfc,prl,prr,prc,ih,ip,o,g
**Docking station available
+
*d: Docking station available (1/0)
**Perimeter sensor available (front: left, right, center - rear: left, right, center)
+
*pfl: perimeterFrontLeft available (1/0)
**IMU available
+
*pfr: perimeterFrontRight available (1/0)
**Compass available
+
*pfc: perimeterFrontCenter available (1/0)
**Odometry available
+
*prl: perimeterRearLeft available (1/0)
**GPS available
+
*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==
 
==Actor and sensor control==

Version vom 7. Januar 2017, 19:51 Uhr

Describes message format used to externally control a robot mower (e.g. Ardumower-based).

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

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