Rework and test update()
Implement getNearest()
Implement calTravelState() and checkMap()
Add various helper methods to mange map state
Remove unused imports, extend node struct for easy access
Calculate distance relative to last fixpoint
Rename and move userthread states to Constants
Calculate distance between nodes and traveled distance since last node
Add debug return for AmiroMap update, test fixpoint detection
Reset nodeCount after new initialization
Add state transition tracking, prevent overflow of tracking buffer
Stop tracking state transitions, move test suit from main to userthread
Add test map and additional test variables for evaluating functionalityof AmiroMap
Remove getter/setter, introduce state object for map information, firstimplementation of update()
Double userthread stack size to 2048, use O2 compiler optimazation
Fix connectivity check
Extend testing framework, add validity check for map prototype
Add basic test framework for amiro map behavior
Tune thresholds for TURN
Change turn logic by utilizing the bottom sensors, add shell command infos fordisplaying all state transitions
Add AmiroMap
Add docking correction procedure
Add DEVIATION_CORRECTION state for a more precise docking maneuver
Introducing error states (negative lable): DOCKING_ERROR, REVERSE_TIMEOUT_ERROR, CALIBRATION_ERROR, WHITE_DETECTION_ERROR, PROXY_DETECTION_ERROR, NO_CHARGING_POWER_ERROR (not in use), UNKNOWN_STATE_ERROR.Bootom sensors can be calibrated for specific colors with MSG_CALIBRATE_BLACK/WHITE,...
Add overflow protection for accumHist, linit correction speed to MAX_CORRECTION_SPEED
Add struct for line follow PID
Change unsigned to signed int in order to display negative delta value
Add check for frontal object, rotate if frontal object is detected
Refactor can msg for line follow speed
Remove whitespace
Refactor
Add CAN message for transmitting the userthread state
Add ERROR state to FSM
Reastructure the PID conbtroller to use more accurate values, add the i and d proprotion to the controller
Bugfix: white and protection will not be active, for some time, after RELEASE state
Add new correction behaviour when amiro drives to the loading station and fails to dock, change undock behaviour (AMiRo rotates clockwise 20 degrees to free from station magnet, drives 0.5 cm, rotates back and drives again
Add voltage check for docking: activate pin gets requested, if voltage is detected the state is changed to CHARGING otherwise the docking will repeate
Add debugging methods
Amiro now stops befor obstacles, detected by the proxy ring
Refactor userthread, change optimazation level in Makefile
Add requestCharging() to send CAN msg to PowerManagement in order to enable the charging pins, add debugging mehtod setStrategy() in Porermanagement
Refactor and add doc
Add line following
Add control parameter for linefollowing in userthread to manage CAN communication
Add final state maschine for userthread, it contains functionality for standard line following as well as the docking procedure
Fix docking behaviour, implement ability to trigger line following (different strategys as well as just start and stop) over CAN
Enable several modes of linefollowing in the DiWheelDrive userthread
Refactor userthread, remove unused code
Register if docking on the loading station was successful, checkForMotion() blocks if any motion is detected, instead of waition for a fixed time
Implement driving towards loading station
Implement differnet line following strategies
Implement different line following strategies and stopping if sensor detects white
New error function
Add first part of ziegler method, refine shell comands to parse output via python
Implement adaptive threshhold for line Following. AMiRo can now be calibrated and the sensor values with the maximum thesh will be set as guiding thresholds
Investigating delta
Constants added
Create PID controller which needs adjustment
Create rudimentary line following with front proxi sensors
Added compatibility for AMiRo-BLT 1.1.x
Fix stack overflow in DiWheelDrive due to access of non-started gyro thread
Signed-off-by: Timo Korthals <tkorthals@cit-ec.uni-bielefeld.de>
Constants.h: renamed CAN::UPDATE_PERIOD_MSEC to CAN::UPDATE_PERIOD
Added functions to reset the motor gains.
Adapted the OS to be compatible with the new bootloader version 1.0.
Merged recent modifications from development branch:- proximity sensor frequency was increased from 8Hz to 125Hz- system synchronization frequency was increased from 8Hz to 16Hz- I2C bus clearing functionality was improved- magnetometer and gyroscope data are now available to the whole system...
Re-inserted several Doxygen comments, which had been removed earlier.
Initial commit of AMiRo-OS version 1.0. This is the first version released open source.