As the initial Duckiebot setup is finished and you manage to move the robot, you might notice that the wheels do not respond correctly and there is some unwanted drift. The camera image may also appear distorted. In that case, you should resort to calibration processes.
To account for differences in the particular model of camera that comes built with your Duckiebot, the manufacturer recommends that you calibrate
the camera.
We started by downloading the Calibration checkboard PDF and printed it in A3 format. We then ran the intrinsic calibration application as per the official documentation. It failed to run on our Fedora instance, so use a recommended operating system, such as Ubuntu 20.04 or Ubuntu 22.04, with the out-of-the-box Python version. After resorting to Ubuntu 20.04, the program ran successfully. The program failed to properly align the points with the sheet's rectangles, as expected since the camera was not calibrated. As we executed the calibration dance, the alignments improved and the camera was calibrated.
Something unexpected happened after starting the keyboard control demo and trying to go forward. The bot was slowly skewing to the left. A quick look in the manual and the culprit was easy to identify. The wheels, despite receiving the same commands, rotate at different speeds. To mitigate the issue, some calibration is in order. We followed the wheel calibration instructions, and the problem became less noticeable.
Duckiebatery firmware update instructions
The battery in duckiebots isn't just a dumb power bank. Inside, there's a microcontroller responsible for managing the battery's health, safety mechanisms, auto shutdown on low current draw and safe power-off process of the single-board computer (SBC) onboard and the complementary bot circuitry (HUT, and daughterboards). When connected to the bot, the microcontroller is used by the SBC to query charge levels, temperatures, etc., displaying them on the on-board screen, and to issue commands, like the poweroff/reboot, that first powers off the HUT and daughterboards, waits for the SBC to poweroff and only then shuts down the battery. When the battery isn't correctly detected, the bot may behave unexpectedly. This may be fixed by updating the batteries firmware, using the instructions above.
The battery only starts charging when in idle mode or when the duckiebot is running. The battery only enters idle mode after being connected to the transformer for 30 mins. Then, to indicate the charge levels and that it is charging, the battery indicator LEDs are on and the LED indicating the current level
flashes with a 1Hz frequency.