Raubase configuration file

From Rsewiki
(Difference between revisions)
Jump to: navigation, search
Line 11: Line 11:
 
  name = value
 
  name = value
  
Each of the sections are explained a bit here.
+
Each of the sections is explained a bit here.
  
 
==== [Service] ====
 
==== [Service] ====
Line 18: Line 18:
 
  logpath = log/
 
  logpath = log/
 
  ; add '%d' in the logpath (e.g. "log_%d/" to generate a timestamped path. =  
 
  ; add '%d' in the logpath (e.g. "log_%d/" to generate a timestamped path. =  
 +
 +
Note: remember to end the path with a '/' slash.
 +
 +
Service creates a directory for log files.
 +
In this case, it is called 'log', and all previous log files will be overwritten by the files from the newest run.
 +
 +
If ''logpath'' is
 +
 +
[service]
 +
logpath = log_%d/
 +
 +
Then a number log directories will be created, like:
 +
 +
$ ls
 +
CMakeCache.txt      log                      log_20231231_134200.702
 +
CMakeFiles          log_20231231_133902.348  raubase
 +
Makefile            log_20231231_133909.383  robot.ini
 +
cmake_install.cmake  log_20231231_133913.291
 +
 +
With default options, about 150 kb will be created every second.
 
   
 
   
 
==== [id] ====
 
==== [id] ====
Line 26: Line 46:
 
  ; robot 'name' and 'idx' are read-only, use command line option to change =  
 
  ; robot 'name' and 'idx' are read-only, use command line option to change =  
 
  name = Psyche
 
  name = Psyche
 +
 +
These are read-only. The robot (and Raspberry) names are determined by the Regbot.
  
 
==== [teensy] ====
 
==== [teensy] ====
Line 34: Line 56:
 
  print = false
 
  print = false
 
  confirm_timeout = 0.04   
 
  confirm_timeout = 0.04   
 +
 +
On Linux, all devices are seen as files, and ''/dev/ttyACM0'' is the default name for the Regbot interface.
 +
 +
''confirm_timeout'' is the timeout in ms for retransmission of messages ''to'' the Regbot. Configuration messages to the Regbot are queued and sent one at a time until positively acknowledged by the Regbot.
 
   
 
   
 
==== [state] ====
 
==== [state] ====
Line 40: Line 66:
 
  log = true
 
  log = true
 
  print = false  
 
  print = false  
 +
 +
This is for the heartbeat messages from Regbot. This includes e.g. the battery voltage.
 
   
 
   
 
==== [encoder] ====
 
==== [encoder] ====
Line 48: Line 76:
 
  print = false
 
  print = false
 
  encoder_reversed = true
 
  encoder_reversed = true
 +
 +
The motor encoder has the movement of the motors. The ''rate_ms'' is the interval at which the encoder count is sent by the Regbot.
 +
This interval also determines the update rate of the robot pose.
 +
 +
For all Robobots, the encoder signals are reversed. That is, the two encoders A and B, are swapped.
 
   
 
   
 
==== [pose] ====
 
==== [pose] ====

Revision as of 14:58, 31 December 2023


Contents

Robot.ini

The configuration file is called robot.ini and must be found in the default directory. If no robot.ini is found, it will be created with default values.

The default robot.ini looks (pt) like this:

[section]
name = value

Each of the sections is explained a bit here.

[Service]

[service]
logpath = log/
; add '%d' in the logpath (e.g. "log_%d/" to generate a timestamped path. = 

Note: remember to end the path with a '/' slash.

Service creates a directory for log files. In this case, it is called 'log', and all previous log files will be overwritten by the files from the newest run.

If logpath is

[service]
logpath = log_%d/

Then a number log directories will be created, like:

$ ls
CMakeCache.txt       log                      log_20231231_134200.702
CMakeFiles           log_20231231_133902.348  raubase
Makefile             log_20231231_133909.383  robot.ini
cmake_install.cmake  log_20231231_133913.291

With default options, about 150 kb will be created every second.

[id]

[id]
type = robobot
idx = 149
; robot 'name' and 'idx' are read-only, use command line option to change = 
name = Psyche

These are read-only. The robot (and Raspberry) names are determined by the Regbot.

[teensy]

[teensy]
device = /dev/ttyACM0
log = true
print = false
confirm_timeout = 0.04  

On Linux, all devices are seen as files, and /dev/ttyACM0 is the default name for the Regbot interface.

confirm_timeout is the timeout in ms for retransmission of messages to the Regbot. Configuration messages to the Regbot are queued and sent one at a time until positively acknowledged by the Regbot.

[state]

[state]
log = true
print = false 

This is for the heartbeat messages from Regbot. This includes e.g. the battery voltage.

[encoder]

[encoder]
rate_ms = 8
log = true
print = false
encoder_reversed = true

The motor encoder has the movement of the motors. The rate_ms is the interval at which the encoder count is sent by the Regbot. This interval also determines the update rate of the robot pose.

For all Robobots, the encoder signals are reversed. That is, the two encoders A and B, are swapped.

[pose]

[pose]
gear = 19.0
wheeldiameter = 0.146
enctickperrev = 64
wheelbase = 0.243
log = true
print = false

[gpio]

[gpio]
pins_out = 12=0 16=0
stop_on_stop = true
blink_period_ms = 600
log = true
print = false 

[imu]

[imu]
rate_ms = 12
gyro_offset = 0 0 0
log = true
print_gyro = false
print_acc = false 

[edge]

[edge]
rate_ms = 8
highpower = true
lograw = true
printraw = false
calibwhite = 1000 1000 1000 1000 1000 1000 1000 1000
calibblack = 0 0 0 0 0 0 0 0
whitethreshold = 700
crossingwidth = 0.08
crossingwidthd = 1
sensorwidth = 0.12
sensorwidthd = 0.7
log = true
lognorm = true
print = false
kp = 40.0
lead = 0.3 0.5
taui = 0.0
logcedge = true
logctrl = false
printctrl = false
maxturnrate = 7.0

[mixer]

[mixer]
log = true
print = false

[motor]

[motor]
kp = 7.0
lead = 0 1.0
taui = 0.05
maxmotv = 10.0
log = true
print_m1 = false
print_m2 = false
 

[heading]

[heading]
kp = 10.0
lead = 0.0 1.0
taui = 0.0
maxturnrate = 3.0
log = true
print = false
enabled = false

[pyvision]

[pyvision]
host = localhost
port = 25001
log = true
print = false
enabled = false

[servo]

[servo]
rate_ms = 50
log = true
print = true
printctrl = false

[dist]

[dist]
rate_ms = 45
ir13cm = 70000 70000
ir50cm = 20000 20000
uscalib = 0.00126953125
log = true
print = false
sensor1 = sharp
sensor2 = sharp

[joy_logitech]

[joy_logitech]
log = true
print = false
device = /dev/input/js0
limit = 1.5 1.5 0.1
button_fast = 5
axis_vel = 4
axis_turn = 3
slow_factor = 0.3
axis_servo = 1
servo = 1
device_type = Logitech Gamepad F710 

[plan20]

[plan20]
run = false
log = true
print = true

[plan21]

[plan21]
run = false
log = true
print = true

[plan40]

[plan40]
run = false
log = true
print = true

[ini]

[ini]
; set 'saveconfig' to 'false' to avoid autosave = 
saveconfig = true
version = 524 2023-12-31 11:48:38
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox