Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement communication to IMU #25

Closed
whymarrh opened this issue Nov 22, 2015 · 8 comments
Closed

Implement communication to IMU #25

whymarrh opened this issue Nov 22, 2015 · 8 comments
Labels
Milestone

Comments

@whymarrh
Copy link
Contributor

The IMU communication is via I2C

@whymarrh whymarrh added this to the MATE 2016 milestone Nov 22, 2015
@whymarrh
Copy link
Contributor Author

@EasternEdgeRobotics/developers this is up for grabs is anyone wants to take it

@cal-pratt
Copy link
Contributor

@whymarrh Currently working on this item.

The best library to use seems to be:

Sample code of interest:

@whymarrh
Copy link
Contributor Author

Though they'll share the underlying communication protocol, is this different from the thruster stuff (#9)?

@cal-pratt
Copy link
Contributor

The thrusters are run through an I2C interface.
The design decision to move i2c functions to the rasprime requires that the arduino communication (in system-manager branch) be translated to java.

I was considering using PI4J for this.

@cal-pratt
Copy link
Contributor

Ah, I completely misread this. After basic code for i2c communication is added, the IMU portion of the task can be handed off.

@whymarrh whymarrh mentioned this issue Nov 30, 2015
2 tasks
@whymarrh whymarrh added the io label Dec 11, 2015
@cal-pratt
Copy link
Contributor

Current status of AltIMU-10 v3 components:


Device details:

Sensor Address low Address high (default)
L3GD20H gyroscope 1101010b 1101011b
LSM303D accelerometer & magnetometer 0011110b 0011111b
LPS331AP barometer 1011100b 1011101b

Output format (I²C):

  • Gyro: one 16-bit reading per axis
  • Accelerometer: one 16-bit reading per axis
  • Magnetometer: one 16-bit reading per axis
  • Barometer: 24-bit pressure reading (4096 LSb/mbar)

Sensitivity range:

  • Gyro: ±245, ±500, or ±2000°/s
  • Accelerometer: ±2, ±4, ±6, ±8, or ±16 g
  • Magnetometer: ±2, ±4, ±8, or ±12 gauss
  • Barometer: 260 mbar to 1260 mbar (26 kPa to 126 kPa)

@cal-pratt
Copy link
Contributor

Note that the AltIMU devices use predefined I²C addresses. We're going to use the grounded (low) addresses, however, we should avoid re-using any of these addresses to avoid future conflicts.

Reserved Addresses: 0x6A, 0x6B, 0x1E, 0x1F, 0x5C, 0x5D

@whymarrh
Copy link
Contributor Author

whymarrh commented May 9, 2016

The amount of time required to make IMU output useful to us is greater than the amount of time we have.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants