Raubase configuration file
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