Installation Guide

This page summarizes the installation flow from the main repository README and adds direct links to each agent README.

1. Clone Repository

git clone https://github.com/mmtlab/instrumented_crutches_mads.git
cd instrumented_crutches_mads
Required MADS version: 2.0.0 or above.

2. Build and Install Agents

Each agent is installed separately. Build only the services required by each crutch role:

3. Configure mads.ini

Review settings (for example loadcell scaling values), then copy the template configuration:

sudo cp templates/mads.ini /usr/local/etc/

Ensure write permissions for the data folder used by web_server and hdf5_writer (default: web_server/data):

sudo chown -R $USER:$USER ~/instrumented_crutches_mads/web_server/data
chmod -R u+rwX ~/instrumented_crutches_mads/web_server/data

4. Enable Services

Copy and enable systemd service files according to the crutch role.

Master Crutch (Right)

sudo cp templates/mads-broker.service templates/mads-web_server.service templates/mads-coordinator.service templates/mads-status_handler.service templates/mads-hdf5_writer.service templates/mads-eye_tracker.service templates/mads-network_handler.service templates/right/mads-tip_loadcell.service templates/right/mads-handle_loadcell.service templates/right/mads-ups.service templates/right/mads-ppg.service /etc/systemd/system/
sudo systemctl enable mads-broker.service mads-web_server.service mads-coordinator.service mads-status_handler.service mads-hdf5_writer.service mads-tip_loadcell.service mads-handle_loadcell.service mads-eye_tracker.service mads-network_handler.service mads-ups.service mads-ppg.service

Slave Crutch (Left)

sudo cp templates/left/mads-tip_loadcell.service templates/left/mads-handle_loadcell.service templates/left/mads-ups.service templates/left/mads-ppg.service /etc/systemd/system/
sudo systemctl enable mads-tip_loadcell.service mads-handle_loadcell.service mads-ups.service mads-ppg.service

Use the service templates in templates/left and templates/right for correct side-specific setup.

5. Configure Network

On the master Raspberry Pi, create a hotspot:

sudo nmcli device wifi hotspot ssid <network-name> password <network-password>

On the slave Raspberry Pi, configure auto-connect to that hotspot:

sudo nmcli connection modify <connection-name> connection.autoconnect yes
sudo nmcli connection up <connection-name>

6. Configure Time Synchronization (Chrony)

sudo apt install chrony
sudo cp templates/chrony.conf /etc/chrony/
sudo systemctl enable chrony
sudo systemctl restart chrony

Run this on both crutches. The default chrony.conf uses 10.42.0.1 as NTP server; update it if your hotspot IP differs.

Agent README Links

Use the following README files for per-agent build and runtime details:

Case Files

Acquisition board case STL files are available in templates/case.