mod-Actuator
The mod-Actuator
translates calculated steering data and acceleration controls to hardware signals using the PCA9685 I2C PWM board.
Runs on Rover1 Debix
Precompiled binary available here
Adheres to Makefile spec
Source code is confidentially available using your Github token
Uses service.yaml
Registers with SystemManager
Functionalities
- Based on Controller output, actuate motors, servo and lights
- Safety kill switch in case any module in the pipeline crashes
Running this module
- Using the rover.yaml
- Precompiled
- From source
- Download the latest version of this module using the
rover
utility.
sudo rover update
- Enable this module in your /home/debix/rover.yaml file by (re)adding the following lines:
...
- name: mod-Actuator
cmd: mod-Actuator -service-yaml /home/debix/mods/mod-Actuator/service.yaml -debug
...
- Start with the
rover
utility
sudo rover start
- Download this module from the ASE Download Manager to your current working directory using
curl
curl https://downloads.ase.vu.nl/api/mod-Actuator/latest -JL -o mod-Actuator.zip
- Unzip the downloaded zip file. This will deflate the precompiled binary and its service yaml
unzip mod-Actuator.zip
- Execute the binary
./mod-Actuator
- Clone the source code using your private ASE token. Make sure to replace
<YOUR_TOKEN>
with the token you received by email.
git clone https://<YOUR-TOKEN>@github.com/VU-ASE/mod-Actuator.git
git pull
- Enter the source code directory
cd mod-Actuator
- Build and start from source
make start
Using this module
Dependencies
This module uses ControllerOutput messages outputted by mod-Controller to actuate.
Startup latency
Due to the initialization of the PCA board, this module takes about ~5 seconds after startup before it starts processing ControllerOutputs. If you need to do any important actuating at the start of your module, consider adding a delay to the module that outputs ControllerOutput to start sending when mod-Actuator
is initialized.
Outputs
This module does not output anything but instead controls the PCA9685 I2C PWM board.