Regbot command interface

From Rsewiki
(Difference between revisions)
Jump to: navigation, search
(Teensy command list)
(Teensy command list)
Line 3: Line 3:
 
== Teensy command list ==
 
== Teensy command list ==
  
==== Commands available for regbot Mary ====
+
==== Commands available for regbot Mary ====  
 
*    help        This help text.
 
*    help        This help text.
 
*  veri and 'sub ver N' get version number, HW type and repository date
 
*  veri and 'sub ver N' get version number, HW type and repository date
Line 26: Line 26:
 
*  veli and 'sub vel N' Get velocity 'left right' (m/s)
 
*  veli and 'sub vel N' Get velocity 'left right' (m/s)
 
*  confi and 'sub conf N' Get robot conf (radius, radius, gear, pulsPerRev, wheelbase, sample-time)
 
*  confi and 'sub conf N' Get robot conf (radius, radius, gear, pulsPerRev, wheelbase, sample-time)
*  ---- EE (configuration flash) ====--
+
*  ---- EE (configuration flash) ====-
 
*  eew Save configuration to EE-Prom (flash)
 
*  eew Save configuration to EE-Prom (flash)
 
*  eer Read configuration from EE-Prom
 
*  eer Read configuration from EE-Prom
==== Motor help ====-
+
==== Motor help ====
 
*  motv m1 m2 Set motor voltage -24.0..24.0 - and enable motors
 
*  motv m1 m2 Set motor voltage -24.0..24.0 - and enable motors
 
*  motfrq Set motor PWM frequency [100..50000], is 17000
 
*  motfrq Set motor PWM frequency [100..50000], is 17000
Line 38: Line 38:
 
*  servo i p v set one servo i=index 1..5, pos +/-1024, v=velocity 0..4000,0=max, 1=sloooow
 
*  servo i p v set one servo i=index 1..5, pos +/-1024, v=velocity 0..4000,0=max, 1=sloooow
 
*  svoi and 'sub svo N' get servo configuration 'svo {enabeled pos[0...1000] vel}*5'
 
*  svoi and 'sub svo N' get servo configuration 'svo {enabeled pos[0...1000] vel}*5'
==== AD converter ====-
+
==== AD converter ====
 
*  adi and 'sub ad N' Get raw AD values (ir1, ir2, battery, m1 current, m2 current)
 
*  adi and 'sub ad N' Get raw AD values (ir1, ir2, battery, m1 current, m2 current)
 
*  lsi and 'sub ls N' Get raw line sensor AD values (n1, n2, ls1 (l,h), ls2 ... ls8, ct1, ct2 (us))
 
*  lsi and 'sub ls N' Get raw line sensor AD values (n1, n2, ls1 (l,h), ls2 ... ls8, ct1, ct2 (us))
==== Motor current ====-
+
==== Motor current ====
 
*  mcai and 'sub mca N' Get motor current 'mca m1 m2' [Amps]
 
*  mcai and 'sub mca N' Get motor current 'mca m1 m2' [Amps]
 
*  mcoi and 'sub mco N' Get motor current offset (AD: 0..4096) 'mco o1 o2 ad1 ad2'
 
*  mcoi and 'sub mco N' Get motor current offset (AD: 0..4096) 'mco o1 o2 ad1 ad2'
==== Line sensor ====-
+
==== Line sensor ====
 
*  lip p w h t wi s Set sensor baseics p=on, w=white, h=high power, t=tilt comp, wi=wide, s=swap
 
*  lip p w h t wi s Set sensor baseics p=on, w=white, h=high power, t=tilt comp, wi=wide, s=swap
 
*  licw Use current value as full white
 
*  licw Use current value as full white
Line 54: Line 54:
 
*  livni and 'sub livn N' Get line-sensor normalized value 'livn ls1 ls2 ls3 ls4 ls5 ls6 ls7 ls8'
 
*  livni and 'sub livn N' Get line-sensor normalized value 'livn ls1 ls2 ls3 ls4 ls5 ls6 ls7 ls8'
 
*  lipi and 'sub lip N' Get line-sensor position 'lip on wh le leCnt re reCnt ... some more'
 
*  lipi and 'sub lip N' Get line-sensor position 'lip on wh le leCnt re reCnt ... some more'
==== IR distance ====-
+
==== IR distance ====
 
*  irc A1 B1 A2 B2 Set calibration values A=13cm, B=50cm (sensor 1 and 2)
 
*  irc A1 B1 A2 B2 Set calibration values A=13cm, B=50cm (sensor 1 and 2)
 
*  iron V Turn IR sensor on or off V=1 for on (0=off)
 
*  iron V Turn IR sensor on or off V=1 for on (0=off)
 
*  iri and 'sub ir N' Get IR and calibration data 'irc dist1 dist2 ... (meter)
 
*  iri and 'sub ir N' Get IR and calibration data 'irc dist1 dist2 ... (meter)
==== Mission help ====-
+
==== Mission help ====
 
*    madd user-mission-line>    add a user mission line (0 lines loaded in 1 threads)
 
*    madd user-mission-line>    add a user mission line (0 lines loaded in 1 threads)
 
*    mmod T L user-mission-line  Modify line L in thread T to new user-mission-line
 
*    mmod T L user-mission-line  Modify line L in thread T to new user-mission-line
Line 73: Line 73:
 
*  lfli and 'sub lfl N' Get log flags 'lfl mis acc gyro mag motref motv mota enc vel turnr pose line dist batt ex chirp'
 
*  lfli and 'sub lfl N' Get log flags 'lfl mis acc gyro mag motref motv mota enc vel turnr pose line dist batt ex chirp'
 
*  lsti and 'sub lst N' Get log status 'lst interval rows rowsMax'
 
*  lsti and 'sub lst N' Get log status 'lst interval rows rowsMax'
==== Control settings ====-
+
==== Control settings ====
 
*  rc P lv hv [b] Remote control P=0: off, P=1:manual, P>1: mission; lv=linear vel (m/s); hv = heading vel (ish); b=1 for balance
 
*  rc P lv hv [b] Remote control P=0: off, P=1:manual, P>1: mission; lv=linear vel (m/s); hv = heading vel (ish); b=1 for balance
 
*  hm n Hard coded mission: n=1 balance 5s, n=2 square, n=3 wall, n=?
 
*  hm n Hard coded mission: n=1 balance 5s, n=2 square, n=3 wall, n=?
Line 96: Line 96:
 
*  params: use kp iuse itau ilim Lfuse LfNum LfDen Lbuse LbNum LbDen preUse preNum preDen
 
*  params: use kp iuse itau ilim Lfuse LfNum LfDen Lbuse LbNum LbDen preUse preNum preDen
 
*          preIuse preItau preIlim ffUse ffKp ffFuse ffFnum ffFden LimUse Lim
 
*          preIuse preItau preIlim ffUse ffKp ffFuse ffFnum ffFden LimUse Lim
==== IMU help ====-
+
==== IMU help ====
 
*  gyroc Start gyro calibration (finished=1)
 
*  gyroc Start gyro calibration (finished=1)
 
*  magcal Set magnetometer calibration values (offset[3] rotate/scale[9])
 
*  magcal Set magnetometer calibration values (offset[3] rotate/scale[9])
Line 112: Line 112:
 
*  imuposei and 'sub imupose N' Get IMU-based pose 'imupose roll pitch yaw (radians)
 
*  imuposei and 'sub imupose N' Get IMU-based pose 'imupose roll pitch yaw (radians)
 
*  boardi and 'sub board N' Get orientation of IMU board (board rX rY rZ)
 
*  boardi and 'sub board N' Get orientation of IMU board (board rX rY rZ)
==== IR distance ====-
+
==== IR distance ====
 
*  play N Play melody number N to buzzer-pin
 
*  play N Play melody number N to buzzer-pin
 
*  mutedi and 'sub muted N' Is sound muted (on 4.1 only)
 
*  mutedi and 'sub muted N' Is sound muted (on 4.1 only)
 
*  soundi and 'sub sound N' Get current sound activity
 
*  soundi and 'sub sound N' Get current sound activity
==== Display ====-
+
==== Display ====
 
*  disp text Set a display line text
 
*  disp text Set a display line text
 
*  displayi and 'sub display N' Get current display text
 
*  displayi and 'sub display N' Get current display text
==== USB host ====-
+
==== USB host ====
 
*  usbhost A Set USB host as active or not A=1 is active
 
*  usbhost A Set USB host as active or not A=1 is active
 
*  joyn A Notify on updates
 
*  joyn A Notify on updates
 
*  joyc A Changes only
 
*  joyc A Changes only

Revision as of 16:38, 1 November 2022

back to regbot

Contents

Teensy command list

Commands available for regbot Mary

  • help This help text.
  • veri and 'sub ver N' get version number, HW type and repository date

State settings

  • setidx N Set ID to N (sets robot name) (id=89, part of hbt).
  • setid string Set device type to string (< 32 chars, is=regbot).
  • sethw N Set hardware version (is = 41, part of hbt).
  • stop Stop and set manual mode
  • start Start mission
  • off T Turn off power (cuts power after T seconds)
  • pind pin v [p] Set pin direction v=1 output, p=1 pull up, p=-1 pull down
  • pinv pin v Set pin to v [0..1]
  • hbti and 'sub hbt N' Get time and state 'hbt time idx revision batVolt state hw'
  • idi and 'sub id N' Get device type and name 'name type name'
  • timei and 'sub time N' sample timing [us] 'time start actual sensor control done'
  • pini and 'sub pin N' Get pin value (pin is set by 'pind') 'pin pin value'

Encoder settings

  • enc0 Reset pose to (0,0,0)
  • confw rl rr g t wb Set configuration (radius gear encTick wheelbase)
  • enci and 'sub enc N' Get encoder value 'enc encoder interrupts' (integer)
  • posei and 'sub pose N' Get current pose 'pose t x y h' (sec,m,m,rad)
  • veli and 'sub vel N' Get velocity 'left right' (m/s)
  • confi and 'sub conf N' Get robot conf (radius, radius, gear, pulsPerRev, wheelbase, sample-time)
  • ---- EE (configuration flash) ====-
  • eew Save configuration to EE-Prom (flash)
  • eer Read configuration from EE-Prom

Motor help

  • motv m1 m2 Set motor voltage -24.0..24.0 - and enable motors
  • motfrq Set motor PWM frequency [100..50000], is 17000
  • moti and 'sub mot N' Get motor voltage 'mot m1(V) m2(V) vel_ref1(m/s) vel_ref2(m/s)'
  • motpwmi and 'sub motpwm N' Get motor direction and PWM 'motpwm dir1 pwm1 dir2 pwm2'

Servo

  • svos e p v e p v ... set all servos e=enable, p=position +/-1024, v=velocity -1..100,-1=max
  • servo i p v set one servo i=index 1..5, pos +/-1024, v=velocity 0..4000,0=max, 1=sloooow
  • svoi and 'sub svo N' get servo configuration 'svo {enabeled pos[0...1000] vel}*5'

AD converter

  • adi and 'sub ad N' Get raw AD values (ir1, ir2, battery, m1 current, m2 current)
  • lsi and 'sub ls N' Get raw line sensor AD values (n1, n2, ls1 (l,h), ls2 ... ls8, ct1, ct2 (us))

Motor current

  • mcai and 'sub mca N' Get motor current 'mca m1 m2' [Amps]
  • mcoi and 'sub mco N' Get motor current offset (AD: 0..4096) 'mco o1 o2 ad1 ad2'

Line sensor

  • lip p w h t wi s Set sensor baseics p=on, w=white, h=high power, t=tilt comp, wi=wide, s=swap
  • licw Use current value as full white
  • licb Use current value as black limit
  • liwi and 'sub liw N' Get line-sensor white (AD) level 'liw w1 w2 w3 w4 w5 w6 w7 w8'
  • libi and 'sub lib N' Get line-sensor black (AD) level 'lib b1 b2 b3 b4 b5 b6 b7 b8'
  • ligi and 'sub lig N' Get line-sensor channel gain 'lig g1 g2 g3 g4 g5 g6 g7 g8'
  • livi and 'sub liv N' Get line-sensor channel value 'liv ls1 ls2 ls3 ls4 ls5 ls6 ls7 ls8'
  • livni and 'sub livn N' Get line-sensor normalized value 'livn ls1 ls2 ls3 ls4 ls5 ls6 ls7 ls8'
  • lipi and 'sub lip N' Get line-sensor position 'lip on wh le leCnt re reCnt ... some more'

IR distance

  • irc A1 B1 A2 B2 Set calibration values A=13cm, B=50cm (sensor 1 and 2)
  • iron V Turn IR sensor on or off V=1 for on (0=off)
  • iri and 'sub ir N' Get IR and calibration data 'irc dist1 dist2 ... (meter)

Mission help

  • madd user-mission-line> add a user mission line (0 lines loaded in 1 threads)
  • mmod T L user-mission-line Modify line L in thread T to new user-mission-line
  • mclear> Clear all user mission lines
  • mevent X> Make an event number X (from 0 to 31)
  • mgeti and 'sub mget N' Get all mission lines
  • mtoki and 'sub mtok N' Get all mission lines as tokens (debug feature)

logger

  • log Get current log, if any
  • lfls Set log flags (except control) - same order as lfl
  • lfcs Set log control log flags - same order as lfc
  • lsts Set log interval (for timing info only)
  • lfci and 'sub lfc N' Get log flags for control 'lfc vel turn pos edge wall dist bal balvel balpos'
  • lfli and 'sub lfl N' Get log flags 'lfl mis acc gyro mag motref motv mota enc vel turnr pose line dist batt ex chirp'
  • lsti and 'sub lst N' Get log status 'lst interval rows rowsMax'

Control settings

  • rc P lv hv [b] Remote control P=0: off, P=1:manual, P>1: mission; lv=linear vel (m/s); hv = heading vel (ish); b=1 for balance
  • hm n Hard coded mission: n=1 balance 5s, n=2 square, n=3 wall, n=?
  • cvel params Set wheel velocity control
  • cveli and 'sub cvel N' Get params
  • ctrn params Set heading control
  • ctrni and 'sub ctrn N' Get params
  • cwve params Set front distance control
  • cwvei and 'sub cwve N' Get params
  • cwth params Set wall distance control
  • cwthi and 'sub cwth N' Get params
  • cpos params Set drive distance control
  • cposi and 'sub cpos N' Get params
  • cedg params Set edge follow control
  • cedgi and 'sub cedg N' Get params
  • cbal params Set balance angle control
  • cbali and 'sub cbal N' Get params
  • cbav params Set balance velocity control
  • cbavi and 'sub cbav N' Get params
  • cbap params Set balance drive position control
  • cbapi and 'sub cbap N' Get params
  • params: use kp iuse itau ilim Lfuse LfNum LfDen Lbuse LbNum LbDen preUse preNum preDen
  • preIuse preItau preIlim ffUse ffKp ffFuse ffFnum ffFden LimUse Lim

IMU help

  • gyroc Start gyro calibration (finished=1)
  • magcal Set magnetometer calibration values (offset[3] rotate/scale[9])
  • acccal Set accelerometer calibration values (offset[3] scale[3])
  • acccal2 make simple acceleration calibration with horizontal board
  • board rX rY rZ Set IMU board orientation angles (in radians)
  • gyroc Start gyro calibration (finished=1)
  • gyroi and 'sub gyro N' Get current gyro value as 'gyro gx gy gz' (deg/s)
  • gyrooi and 'sub gyroo N' Get gyro offset 'gyroo ox oy oz'
  • acci and 'sub acc N' Get accelerometer values 'acc ax ay az' (m/s^2)
  • accoi and 'sub acco N' Get accelerometer offset values 'acco xo yo zo' (m/s^2)
  • magi and 'sub mag N' Get magnetometer values 'mag mx my mz' (uT)
  • magwi and 'sub magw N' Get magnetometer raw values 'magw mx my mz' (uT)
  • magoi and 'sub mago N' Get magnetometer offset values 'mago xo yo zo r11 r12 r13 r21 ... r33' (uT)
  • imuposei and 'sub imupose N' Get IMU-based pose 'imupose roll pitch yaw (radians)
  • boardi and 'sub board N' Get orientation of IMU board (board rX rY rZ)

IR distance

  • play N Play melody number N to buzzer-pin
  • mutedi and 'sub muted N' Is sound muted (on 4.1 only)
  • soundi and 'sub sound N' Get current sound activity

Display

  • disp text Set a display line text
  • displayi and 'sub display N' Get current display text

USB host

  • usbhost A Set USB host as active or not A=1 is active
  • joyn A Notify on updates
  • joyc A Changes only
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox