🌱 Digital Garden

Search

Search IconIcon to open search

aSoL Controller

Updated Jun 20, 2023

The controller is embedded firmware on an Arduino Mega. It is responsible for hardware interfacing, and orchestrating behaviour.

You can get an understanding for how the inverse kinematics system works at this Geogebra Link

The controller design is inspired by behaviour trees, but is quite ad hoc. For example, here is the main autonomous logic structure. Every behaviour returns a status of RUNNING | SUCCESS | FAILURE, and behaviours are coordinated based on these responses and global state flags. This is a quite simple method of coordination, but it enables strong pseudo-parallelism because the execution flow can either continue or return if something returns RUNNING.