Steering algorithm
The fuzzy logic has only three settings in the readcamera()
function in navigate.py
program:
Deadzone |
If the error value is >= 47 and <=52 |
No steering, and increase basespeed by 1 each time through the loop, with a maximum base speed at 40 |
Stage 1 error |
If error value is >= 40 and <= 60 |
Steer left or right by 6 to reduce errors and set the basespeed to15 |
Stage 2 error |
If error value is <= 40 and >= 60 |
Steer left or right by 9 to reduce errors and set the basespeed at 10 |
Each time through the steering loop, only one of the three tests will execute. While there are particular numbers set here for the base speed and steer speed, we have no real knowledge of what the values mean. We could have just as easily described the speed as slow, fast, and really fast. In the same way, the steer value could be Don't skew, Skew gently, and Skew hard since they simply set a differential value added to the speed of each servo. The only value we could actually...