My favorites | Sign in
Project Home Wiki Issues Source
READ-ONLY: This project has been archived. For more information see this post.
Project Information
Members
Links

NOTE: the new navX MXP Robotics Navigation Sensor is now available; if you are using a National Instrument RoboRIO, this provides additional features including RoboRIO I/O Expansion and 9-axis headings (AHRS functionality) along with enhanced calibration algorithms and tools.

The nav6 inertial measurement unit (IMU) brings sophisticated inertial navigation to air, land and sea robots, including the FIRST Robotics Challenge (FRC).

nav6 rapidly calculates yaw, pitch, roll and compass heading, as well as linear acceleration, enabling features including:

Key Features

  • Yaw, Pitch and Roll Angles
  • Tilt-compensated Compass Heading
  • Configurable Update Rate from 4 to 100Hz
  • Automatic Accelerometer/Gyroscope Calibration
  • Automatic Hard-Iron Magnetometer Calibration
  • Libraries and example code for integration onto a FRC Robot, in C++, Java and LabView
  • Completely Open Source: Source Code, Schematics/Bill of Materials and Enclosure Design files (for 3D printer)
  • Arduino-compatible - programmable with free Arduino IDE

Available now at the Kauailabs store.

Overview

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" (DMP). The nav6 employs sophisticated motion processing algorithms provided by the 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 update rate up to 100Hz, suitable for use in robotic systems.

The nav6 also includes a Honeywell HMC5883L 3-axis magnetometer. Although the magnetometer compass readings are often 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 is managed by an Atmel ATMEGA328P microcontroller, which offloads processing from the host. The nav6 is Arduino-compatible, and the nav6 firmware can be customized via the free Arduino Integrated Development Environment (IDE).

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.

Fully Open Source

The nav6 project is completely open-source and includes the following freely-available components:

Board schematics/layout

Arduino-compatible firmware source code

  • As the nav6 behaves almost exactly like an Arduino UNO Rev 3 board, it can be programmed via the Arduino IDE.
  • The nav6 firmware Source Code can be built and downloaded to the nav6 via the Arduino IDE.

NOTE: To interface the Arduino IDE to the nav6 from a computer without a RS-232 serial port, you can use an inexpensive USB-to-RS-232 converter cable.

cRio client source code

  • The nav6 cRio library source code is compatible with the FRC WPI Library (C++ and Java variants) as well as LabView, which runs on the FIRST robotics cRio and RoboRIO platforms. This code allows robot control system code to acquire yaw/pitch/roll/compass-heading values from the board in real-time.

Enclosure design files

A custom enclosure to protect and mount the nav6 IMU can be made with a 3D printer using provided Enclosure design files.

Powered by Google Project Hosting