metisvela / sailtrack-imu

Module of the SailTrack system for getting combined orientation and acceleration data of the boat.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SailTrack IMU

SailTrack IMU is a component of the SailTrack system, it manages IMU data, providing attitude information of the boat. To learn more about the SailTrack project, please visit the project repository.

The SailTrack IMU module is based on a battery powered LilyGo TTGO T7, consisting of an ESP32 microcontroller, connected to an IMU breakout board. For a more detailed hardware description of the module, please refer to the Bill Of Materials. The 3D-printable enclosure con be found here.

The module performs the following tasks:

  • It gets the IMU data coming from the accelerometer, gyrocope and magnetometer, and fuses them, using a Kalman filter, to obtain accurate and clean attitude infromation of the boat. The filtered metrics are then sent to the SailTrack Network.


module-image

Installation

Follow the instructions below to get the SailTrack IMU firmware correctly installed. If you encounter any problem, please open an issue.

  1. Install PlatformIO Core.
  2. Clone the SailTrack IMU repository:
    git clone https://github.com/metisvela/sailtrack-imu.git 
    
  3. Cd into the directory:
    cd sailtrack-imu
    
  4. (macOS ONLY) Uncomment the commented lines after "Patch for macOS" in the platformio.ini file.
  5. Connect the module with an USB cable.
  6. (OPTIONAL BUT HIGHLY RECCOMENDED) Calibrate the IMU:
    1. Install MotionCal.
    2. Flash the calibration firmware:
      pio run -e motioncal.cpp
      
    3. Open MotionCal and select the serial port the module is connected to.
    4. Start rotating the module doing circular movements in all possible directions until the Gaps value gets below 1%.
    5. Press the Send Cal button and wait until a green check appears. Note: if the check doesn't appear after some seconds, press the Send Cal button again.
  7. Finally, flash the firmware:
    pio run
    

Usage

Once the firmware is uploaded the module can work with the SailTrack system. When SailTrack IMU is turned on, a LED start to blink to notify the user about the connection status with SailTrack Core. Then, if the connection is successful, the LED stays on, otherwise the module will put itself to sleep, and it will try to connect later. Once the module is connected it will automatically start sending measurements.

Contributing

Contributors are welcome. If you are a student of the University of Padova, please apply for the Metis Sailing Team team in the website, specifying in the appliaction form that you are interested in contributing to the SailTrack Project. If you are not a student of the University of Padova, feel free to open Pull Requests and Issues to contribute to the project.

License

Copyright © 2023, Metis Sailing Team. SailTrack IMU is available under the GPL-3.0 license. See the LICENSE file for more info.

About

Module of the SailTrack system for getting combined orientation and acceleration data of the boat.

License:GNU General Public License v3.0


Languages

Language:C++ 100.0%