Skip to content

Localise stoch using IMU(for orientation) and UWB(for localisation) and given a path, it should follow it.

Notifications You must be signed in to change notification settings

ajaygunalan/stoch_trajectory_tracking

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 

Repository files navigation

Problems with IMU

  1. The MPU 9150 with RTIMU library (python) is drifing a lot when used in RPI3

Approach

  1. Test another IMU with arduino using (https://kingtidesailing.blogspot.com/2015/09/how-to-setup-mpu-9150-9-axis.html) to check if that is the same case here too. (Download the libraries and check the BAUD RATE)

  2. Follow this link for testing and calibration with RPI3. (Tutorial Not Clear -Vague)

  3. Works well with this repo

Status

  1. Following this repo (https://github.com/blauret/RTIMU)

    a. RTIMU GUI for Calibration is cool...!

    b. On Hold -> Check the Python interface values.

  2. Follow this repo (https://kingtidesailing.blogspot.com/2016/02/how-to-setup-mpu-9250-on-raspberry-pi_25.html)

    a. Seems easier

    b. cd RTIMULib2/Linux/python/tests and run Fusion.py its good enough.

    c. run RTIMULibCal for calibration

Next

  1. To make sure the imu works with main code in Python so that we could interface the existing stoch libraries
  2. Estimation of x,y and orientation from IMU and UWB.
  3. Implementation of controls heuristics to follow a staright line.
  4. Smooth the turning with IMU
  5. Follow a curve
  6. Body Stabilisation

Questions

  1. Why IMU calibration is needed ?

Tips

  1. Check if IMU is connected on I2C line by i2cdetect -y 1 or i2cdetect -y 0 . If you see a output like below, it's connected:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- -- 
  1. Check if i2c is enabled by dmesg | grep i2c

  2. Don't use I2C for distance more than foot.

  3. IMU is prone to interference by ferrous metal.

Reference

  1. https://arduino.stackexchange.com/questions/31552/mpu-6050-angle-drift
  2. https://www.novatel.com/assets/Documents/Bulletins/APN064.pdf
  3. "A robust and easy to implement method for IMU calibration without external equipments"

Added on 17/12/2018 (dd/mm/yyyy)

  1. https://github.com/kriswiner/MPU6050/wiki/Affordable-9-DoF-Sensor-Fusion (Theory)
  2. https://github.com/kriswiner/MPU9150 (Theory)
  3. https://github.com/kriswiner/MPU6050/wiki/Simple-and-Effective-Magnetometer-Calibration (Theory)
  4. https://www.instructables.com/id/Simple-Manual-Magnetometer-Calibration/ (Tutorial)
  5. I2c Reference (https://www.raspberrypi-spy.co.uk/2014/11/enabling-the-i2c-interface-on-the-raspberry-pi/) (enable I2C on rpi3)
  6. https://github.com/vmayoral/bb_mpu9150/blob/master/src/linux-mpu9150/README.md (ROS Package)
  7. https://github.com/mrbichel/linux-mpu9150 (Proper C++ repo for MPU-9150)

Added on 26/12/2018 (dd/mm/yyyy)

  1. Integrated all in one package BNO55

About

Localise stoch using IMU(for orientation) and UWB(for localisation) and given a path, it should follow it.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published