Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Technical Discussion (http://www.chiefdelphi.com/forums/forumdisplay.php?f=22)
-   -   Open Source IMU designed for FIRST robotics (http://www.chiefdelphi.com/forums/showthread.php?t=122945)

Chadfrom308 10-01-2014 08:37

Re: Open Source IMU designed for FIRST robotics
 
I think if you are using 10% of the cpu to keep receiving updates is a lot. I think 50Hz will be fine for pretty much anything.

My team wants to take 2 of them. But the only thing stopping me from getting them is that there is no labview code for them. I could to hook it up to an arduino and use i2c, but thats a lot of work and adds a little lag to it. The reason why we wanted to use one is because we tried gyros and they dont work or require a lot of tuning and drift a lot, so we thought it would just be easier to read the rates from this IMU, but if I have to try to work labview into it, we might have to just stick with tuning a gyro

If you can get labview code out, I will buy two

apalrd 10-01-2014 10:55

Re: Open Source IMU designed for FIRST robotics
 
cRio RS232 is done by NI VISA and does not involve the FPGA. As we (33) already do a lot of at 100hz I don't imagine RS232 adding much to it. I imagine the RS232 port is a hardware UART on the PowerPC but am not entirely sure.

slibert 11-01-2014 01:20

Re: Open Source IMU designed for FIRST robotics
 
In order to allow any team concerned about the 100Hz update rate to choose a slower update rate, a simple option to modify the update rate (between 4 and 100Hz) has been added. This should allow anyone concerned about CPU utilization the option to make the trade off between CPU usage vs. response time.

Once we get concrete measurements on CPU usage, we'll make that information available, too.

slibert 11-01-2014 01:27

Re: Open Source IMU designed for FIRST robotics
 
We're working on locating a partner willing to develop a LabView VI for the nav6. When that happens, I'll be sure to let you know.

We will provide a free nav6 IMU and cables ($95 value) to whomever is first to step up and agree to develop and test a LabView VI for it - as long as they're willing to allow us to make that LabView VI available to others, and to allow us to modify it to include the nav6 'advanced' modes of operation. If you know of anyone interested, please have them contact me (scott@kauailabs.com).

James Lightfoot 12-01-2014 03:15

Re: Open Source IMU designed for FIRST robotics
 
Quote:

Originally Posted by otherguy (Post 1310603)
I think $70 shipped is a fair price. We would be in for one at that cost.
That said, unless we NEED an IMU to play this years game (unlikely), it's unlikely this board would be put to use on the 2014 robot. It will likely be put off until the off-season for further investigation.



I realize the surface mount components won't make sense for a lot of teams. My main reason for asking was simply to bring the price down a bit. I believe our team could populate this board in house. I've worked surface mount components by hand numerous times, but would likely temporarily set up a reflow oven/hot plate for this one to make things a little easier on us. I wouldn't recommend redesigning the board this close to the season starting, especially if you plan on trying to sell these in support of the 2014 season.

We too are strongly considering a gyroscope "package" addition to our robot for the same reason as noted in later post: "Absolute" / persistent directionality. In that vein:
1) Have you put together that package you noted above?
2) If so, do you have a link to "high level" specifics?
3) What was the final price?
4) How do we place the order (direct or via the AndyMark website)?
5) How long after the order is placed will it be before we receive the kit?

Thanks

billbo911 12-01-2014 10:28

Re: Open Source IMU designed for FIRST robotics
 
Quote:

Originally Posted by slibert (Post 1310106)
Team 2465 (Kauaibots) has completed initial development of the Nav6 Open source IMU. This project includes:

- Open source hardware (Eagle PCB file, Bill of Materials)
- Open source hardware (Arduino-compatible source code)
- Software to integrate the IMU into a C++-based CRio robot project

The "nav6" inertial measurement unit (IMU) was developed to provide sophisticated inertial navigation capabilities easily available to student robotics teams, including the FIRST Robotics Challenge (FRC). This low-cost circuit board enables a 4-wheel omni-directional drive robot to be driven in "field-oriented" drive mode by accurately measuring the robots "pose" - the amount of tip, tilt and rotation - relative to the field. Additionally, the nav6 can be used to implement robot balancing algorithms.

The nav6 features the powerful Invensense MPU-6050 IC which includes a 3-axis accelerometer, a 3-axis gyroscope and an on-chip digital motion processor. The nav6 employs sophisticated motion processing algorithms provided by the "Digital Motion Processor" (DMP) included with the MPU-6050. The result: highly accurate tip/tilt, and accurate yaw that exhibits minimal drift of approximately 1 degree per minute. The sensor provides a 200Hz update rate, excellent for use in robotic systems.

The nav6 also includes a Honeywell HMC5883L 3-axis magnetometer. Although the magnetometer compass readings are unreliable when robot motors are energized, it is useful for establishing absolute orientation at the beginning of a competition. Combined with the nav6 "pose" and this initial orientation, a robot's absolute orientation throughout a competition match can be maintained.

The nav6 has been designed specifically to enable easy integration into a FRC robotics control system: it's power connection connects directly to an unregulated 12V output on the Power Distribution Board and it's data connection connects directly to the cRio serial port. Additionally, source code for easy integration into the FRC cRio controller is also provided.

As an added bonus, the nav6 is Arduino-compatible, and can be re-programmed by anyone via the free Arduino Integrated Development Environment (IDE).

Links to the open source hardware/software project, and the CRio software to interface with this IMU, are at: https://code.google.com/p/nav6/

Advanced soldering skills are required if you want to build it, but I'd be happy to indicate where you can get the board fabricated and provide some guidance on how assemble it with a minimum of tools. I'm also open to having some assembled for a low cost if there's enough interest.

As an alternative, it should also be possible to adapt the firmware to run on open-source boards w/the MPU-6050 and the HMC5883L, these can be found at Sparkfun. The ArduIMU +V3 (https://www.sparkfun.com/products/11055) is $79.95 and features almost identical ICs, however it doesn't have the on-board RS-232 IC/connector so you'd need to take care of that detail.

If you have any questions, please let me know.

Cheers,

- scott

Scott Libert
Control System Mentor
Team 2464 (Kauaibots)


An alternative to the Nav6 board is this "Flight controller" for $35.

I believe your code would be a straight drop in, although a minor tweak may be needed.
It has a slightly better controller (AtMega2560), same IMU6050 and HMC5883L integrated on the board already.

Thoughts?

slibert 12-01-2014 15:02

Re: Open Source IMU designed for FIRST robotics
 
Quote:

Originally Posted by billbo911 (Post 1325906)
An alternative to the Nav6 board is this "Flight controller" for $35.

I believe your code would be a straight drop in, although a minor tweak may be needed.
It has a slightly better controller (AtMega2560), same IMU6050 and HMC5883L integrated on the board already.

Thoughts?

$35 is an impressive price, and I believe may be below the part costs for the ICs that are specified, which I estimate to be about $40 (at quantity 100). The Atmega2560 and the MS5611 barometer on the MultiWiiPro2 add about $10 beyond the component costs of the nav6. It cost us $35/each to get 100 nav6 board assembled in china, including the components. My best guess is the MultiWiiPro2 is being sold at cost and the vendor will make up the difference by selling other quadrocopter components (motors, servos, etc.).

Here's some thoughts on how take the various open source parts of nav6 and approach porting them to this board, and getting it running on a FRC robot:

- Based on the MultiWiiPro2 Atmega2560, MPU6050 and the HMC5883L, the nav6 open source firmware should run on this flight controller - as long as each IC''s interrupt line is connected to the Atmega microcontroller. The I2C addresses might be different, based upon the schematic.

I haven't found the schematics, but if you do find them, keep an eye out for the interrupt lines. The MultiWiiPro2 code I found supports many different gyros/accels, and doesn't appear to utilize the MPU6050's DMP (which requires interrupts to tell the microcontroller when the next chunk of filtered pose data [quaternions] and sensor data is available).

- Based on the MultiWiiPro2 code (I haven't been able to locate the schematics), serial communications is supported. I didn't see a RS-232 transceiver listed on the specs, so a different approach than interfacing to the CRio serial port, or some external circuitry for that, might be required. I did see that there's a header for I2C, so if you were to add I2C slave code, and this I2C bus was separate from the I2C bus used to communicate w/the onboard sensors, this could be an option.

- I'm not sure what kind of voltage regulation the MultiWii2 has onboard. It appears (from looking at the silkscreen of the board from photos I've found) to require require 5VDC; for nav6 we found it simplest to handle a range from 6 to 14VDC, so that the IMU can be powered directly from an unregulated output from the FRC Power Distribution Board.

- So in summary, and assuming you'd use I2C to interface to it, I believe you'd need to (a) ensure the MPU6050/HMC5883 interrupts are available to the processor, (b) adapt the nav6 firmware to add a I2C slave interface, (c) adapt the nav6 serial protocol to be command/request over the I2C bus and (d) power the board from the Digital sidecar. I recommend reviewing the digital sidecar bandwidth (CRio<-> sidecar) to ensure it's sufficient to transfer the IMU data at the update rates you want.

It's a key part of the nav6 mission to enable students to modify the firmware, circuitry, interface software, and enclosure of the nav6. All of this is available at http://code.google.com/p/nav6. So if you decide to port the nav6 firmware to this board, please let me know if there's anything I can do to help.

Aloha,

- scott

slibert 12-01-2014 15:05

Re: Open Source IMU designed for FIRST robotics
 
Quote:

Originally Posted by James Lightfoot (Post 1325884)
We too are strongly considering a gyroscope "package" addition to our robot for the same reason as noted in later post: "Absolute" / persistent directionality. In that vein:
1) Have you put together that package you noted above?
2) If so, do you have a link to "high level" specifics?
3) What was the final price?
4) How do we place the order (direct or via the AndyMark website)?
5) How long after the order is placed will it be before we receive the kit?

Thanks

- The nav6 is now for sale, for $69.99 plus shipping, at www.kauailabs.com/store.
- Full documentation, and source code for firmware, board schematics, bill of materials, and STL files to 3d-print an enclosure are on the wiki, at http://code.google.com/p/nav6.
- We will ship out the nav6 board the day after we receive the order.

If there are any questions you can contact me at scott@kauailabs.com.

slibert 12-01-2014 16:15

Re: Open Source IMU designed for FIRST robotics
 
Quote:

Originally Posted by slibert (Post 1325407)
We're working on locating a partner willing to develop a LabView VI for the nav6. When that happens, I'll be sure to let you know.

We will provide a free nav6 IMU and cables ($95 value) to whomever is first to step up and agree to develop and test a LabView VI for it - as long as they're willing to allow us to make that LabView VI available to others, and to allow us to modify it to include the nav6 'advanced' modes of operation. If you know of anyone interested, please have them contact me (scott@kauailabs.com).

Thanks to all who have volunteered for this; I'm happy to report that a volunteer LabView library development effort is beginning, and we're expecting a beta to be available in approximately 4-5 weeks. I'll send out updates as things progress.

tr6scott 22-01-2014 21:55

Re: Open Source IMU designed for FIRST robotics
 
Order 37 processed today, TORC.

Scott.

slibert 22-01-2014 23:03

Re: Open Source IMU designed for FIRST robotics
 
Quote:

Originally Posted by slibert (Post 1326028)
Thanks to all who have volunteered for this; I'm happy to report that a volunteer LabView library development effort is beginning, and we're expecting a beta to be available in approximately 4-5 weeks. I'll send out updates as things progress.

The nav6 LabView VI library is available now, and an example LabView application that uses the library. Many thanks to our volunteer! Some documentation is currently being developed as well, and will be posted when it's ready. More details are on the nav6 wiki.

Joe Ross 02-04-2014 15:04

Re: Open Source IMU designed for FIRST robotics
 
Did anyone use a Nav6 in competition? What were your thoughts?

Gdeaver 02-04-2014 17:24

Re: Open Source IMU designed for FIRST robotics
 
We did not use an IMU in competition yet but the testing we did do last summer indicated that with a game like this years game with the heavy defense and high G impacts would have yielded less than acceptable field centric control. IMU's that are perfect for our needs are out of our price range.

slibert 03-04-2014 01:46

Re: Open Source IMU designed for FIRST robotics
 
Quote:

Originally Posted by Gdeaver (Post 1368538)
We did not use an IMU in competition yet but the testing we did do last summer indicated that with a game like this years game with the heavy defense and high G impacts would have yielded less than acceptable field centric control. IMU's that are perfect for our needs are out of our price range.

We're trying to match the features of sophisticated IMUs w/the Nav6. Specifically in this case of accuracy in the face of high impact events, the Nav6 combines the ability to configure the accelerometers at up to +/- 16 Gs (so they don't saturate during an impact), together with the kalman filtering which fuses the triaxial accelerometer data with the triaxial gyro data, and the high rate at which the fusion occurs (approaches taken by IMUs costing over $100 currently).

So, I'm curious what IMUs you do think are perfect for your needs, or more specifically what specifications you're shooting for. The Nav6 goal is teleop Field-oriented drive for any team that wants it, without requiring "zeroing the yaw" during the game.

Thanks for any input you may have,

- scott

Danny Diaz 18-05-2014 21:33

Re: Open Source IMU designed for FIRST robotics
 
This nav6 thread was recently "found" by some of my students who are interested in giving this guy a shot. However, I'm concerned about its compatibility with the new roboRIO controller. Does the RS232 on the nav6 require any pins other than the RXD and TXD pins - these are the only 2 RS232 pins available on the roboRIO (other than a ground reference).

Thanks!
-Danny


All times are GMT -5. The time now is 05:50.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi