Show Posts
Pages: [1]
1  Using Arduino / Sensors / Re: Calculating Vehicle Position with an IMU on: February 10, 2013, 01:54:52 pm
I am working on a project with a friend from school and we are looking for possible position estimation algorithms for an IMU.  We are using the 9DOF Razor IMU from Sparkfun which has a 3-axis accelerometer, 3-axis gyroscope, and a 3-axis magnetometer and are look for some suggestions on algorithms or helpful resources.  We have tried a variation of DCM that has been off by miles with less than a minute drive and does not even remotely match the shape.  We realize that the measurements will have a decent amount of error no matter because we are integrating the accelerameter measurement twice and amplify the error a great deal but we are just trying to get something a rough estimate that is in within an order of magnitude, and has a shape somewhat resembling the actual path.
Air or land-based?

Land-based and to be honest at this point we just want to be able to stroll the IMU on a cart for 10 feet and have it show an accurate path.
2  Using Arduino / Sensors / Re: Calculating Vehicle Position with an IMU on: February 05, 2013, 01:47:38 am
Those gadgets are useful for orientation,   which is important for aircraft  but not very useful in an automobile,   unless you are interests in observing the vehicle rolling over.

You'd be better off looking at GPS.

I already built a GPS system and it is working fine, we want to work on the INS system in the event that GPS is unavailable (like in a tunnel).  I am just looking for any good advice, code, or resources on estimating position with an IMU.
3  Using Arduino / Sensors / Calculating Vehicle Position with an IMU on: February 04, 2013, 10:30:42 pm
I am working on a project with a friend from school and we are looking for possible position estimation algorithms for an IMU.  We are using the 9DOF Razor IMU from Sparkfun which has a 3-axis accelerometer, 3-axis gyroscope, and a 3-axis magnetometer and are look for some suggestions on algorithms or helpful resources.  We have tried a variation of DCM that has been off by miles with less than a minute drive and does not even remotely match the shape.  We realize that the measurements will have a decent amount of error no matter because we are integrating the accelerameter measurement twice and amplify the error a great deal but we are just trying to get something a rough estimate that is in within an order of magnitude, and has a shape somewhat resembling the actual path.
4  Using Arduino / Project Guidance / Re: Connecting Arduino Leonardo to Raspberry Pi on: November 19, 2012, 07:49:04 am
Yes, I would like to run the IDE on the Raspberry Pi.  Basically I want to be able to upload the Arduino sketches from my Raspberry Pi to the Arduino.
5  Using Arduino / Project Guidance / Connecting Arduino Leonardo to Raspberry Pi on: November 18, 2012, 11:07:44 pm
Any advice on the best was to communicate between an Arduino Leonardo and Raspberry Pi?  I know that there isn't a software version for writing sketches on the R-Pi and uploading them to my Arduino but I was wondering if anyone knew any work arounds for that.
6  Using Arduino / Networking, Protocols, and Devices / Re: GPS UP501 Connected to an Arduino, No Data Stream on: November 18, 2012, 07:55:33 pm
Sorry, my mistake I connected my GPS receiver to my Arduino Leonardo.  I have a Fastrax UP501 GPS module and I followed the connection diagram from www.adafruit.com/products/660.
7  Using Arduino / Networking, Protocols, and Devices / GPS UP501 Connected to an Arduino, No Data Stream on: November 18, 2012, 05:17:32 pm
I connected my GPS UP501 from Fastrax to my Arduino Leonardo and used the following code:
// Test code for Adafruit GPS modules using MTK driver
// such as www.adafruit.com/products/660
// Pick one up today at the Adafruit electronics shop
// and help support open source hardware & software! -ada
//  #if (ARDUINO >= 100)
#define rxPin 2
#define txPin 3
#include <SoftwareSerial.h>
SoftwareSerial mySerial(rxPin, txPin);
//  #else
// If you're using Arduino IDE v23 or earlier, you'll
// need to install NewSoftSerial
//#include <NewSoftSerial.h>
//NewSoftSerial mySerial(2, 3);
//  #endif

// Connect the GPS Power pin to 3.3V
// Connect the GPS Ground pin to ground
// Connect the GPS VBAT pin to 3.3V if no battery is used
// Connect the GPS TX (transmit) pin to Digital 2
// Connect the GPS RX (receive) pin to Digital 3
// For 3.3V only modules such as the UP501, connect a 10K
// resistor between digital 3 and GPS RX and a 10K resistor
// from GPS RX to ground.

// different commands to set the update rate from once a second (1 Hz) to 10 times a second (10Hz)
#define PMTK_SET_NMEA_UPDATE_1HZ  "$PMTK220,1000*1F"
#define PMTK_SET_NMEA_UPDATE_5HZ  "$PMTK220,200*2C"
#define PMTK_SET_NMEA_UPDATE_10HZ "$PMTK220,100*2F"

// turn on only the second sentence (GPRMC)
#define PMTK_SET_NMEA_OUTPUT_RMCONLY "$PMTK314,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*29"
// turn on ALL THE DATA
#define PMTK_SET_NMEA_OUTPUT_ALLDATA "$PMTK314,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0*28"

// to generate your own sentences, check out the MTK command datasheet and use a checksum calculator
// such as the awesome http://www.hhhh.org/wiml/proj/nmeaxor.html

void setup()  
{
  Serial.begin(57600);
  while(!Serial)
  {//This waits for the serial port of the Leonardo to connect.
  }
  Serial.println("Test for Leonardo and Computer Communication\n");

  // 9600 NMEA is the default baud rate
  mySerial.begin(9600);
  
  // uncomment this line to turn on only the "minimum recommended" data for high update rates!
  //mySerial.println(PMTK_SET_NMEA_OUTPUT_RMCONLY);

  // uncomment this line to turn on all the available data - for 9600 baud you'll want 1 Hz rate
  mySerial.println(PMTK_SET_NMEA_OUTPUT_ALLDATA);
  
  // Set the update rate
  // 1 Hz update rate
  mySerial.println(PMTK_SET_NMEA_UPDATE_1HZ);
  // 5 Hz update rate- for 9600 baud you'll have to set the output to RMC only (see above)
  //mySerial.println(PMTK_SET_NMEA_UPDATE_5HZ);
  // 10 Hz update rate - for 9600 baud you'll have to set the output to RMC only (see above)
  //mySerial.println(PMTK_SET_NMEA_UPDATE_10HZ);

}

void loop()                     // run over and over again
{
  if (mySerial.available()) {
      Serial.print((char)mySerial.read());
  }
  if (Serial.available()) {
      mySerial.print((char)Serial.read());
  }

}


Unfortunately all I see is the Test for Leonardo and Computer Communication message and then it stops transmitting and the transmit light does not appear. I was wondering if anyone had any advice. (Some additional information I am using an Arduino Leonardo us the Mac OS X and used the wiring diagram from adafruit.)
Pages: [1]