mfassler / atdrive-moab

Motor and I/O control board (firmware)
GNU General Public License v3.0
2 stars 4 forks source link

Bno055 integration with GPS to find distance #6

Open akshayacharya97 opened 4 years ago

akshayacharya97 commented 4 years ago

Im a little confused as Im new to this. So this is basically what i want to achieve - I have a bot which is being propelled by the MOAB. I know the MOAB has the BNO055 sensor built into it. I have been asked to use the Gyro and accelorometer data to find the distance the bot moves in real time once it is turned on. I have read online that the sensors have errors and need calibration. What do I need to do to do this and store the offsets permanently? Im fairly new to understanding registers and data sheets, so I dont know how to interpret the data sheet. I know I can directly call the lay and lax variables from the IMUpacket.py program. This is giving me values between -1000 and 1000 but its inaccurate and does not entirely correspond to the actual movement of the MOAB board. How can i improve the accuracy and get accurate distance moved using just the MOAB board and a GPS sensor which I want to integrate to further improve the accuracy. A step by step procedure with references would be appreciated as I am not entirely well versed with microcontrollers and sensors

mfassler commented 4 years ago

For orientation you can use the quaternion as-is. I use a Python library called "tranforms3d" to convert the quaternion. For movement and position, I just use GPS and a shaft-encoder. You can see all the code in my other repo:

atdrive-moab-tools

in the file called LocationServices.py

May I ask where you got a Moab board from?

akshayacharya97 commented 4 years ago

Will check this out, thank you. My company uses the MOAB board for its bot. I have been asked to use the IMU sensor inside it and find the distance thge bot moves in real time. I had been using your repo as reference till now but I didnt know how to use the accelerometer or process its data to find distance.