View Single Post
  #12   Spotlight this post!  
Unread 04-10-2016, 19:03
slibert slibert is offline
Software Mentor
AKA: Scott Libert
FRC #2465 (Kauaibots)
Team Role: Mentor
 
Join Date: Oct 2011
Rookie Year: 2005
Location: Kauai, Hawaii
Posts: 337
slibert has much to be proud ofslibert has much to be proud ofslibert has much to be proud ofslibert has much to be proud ofslibert has much to be proud ofslibert has much to be proud ofslibert has much to be proud ofslibert has much to be proud ofslibert has much to be proud of
Re: NAVX vs. Spartan board

Quote:
Originally Posted by bretcobrageek View Post
We've used the NAVX for the last 2 seasons with pretty good success. But we did have issues during autonomous after bouncing over defenses with things getting off a bit. The camera helped out, but 2-ball seemed like an impossibility.

We've seen some of the top teams using the Spartan board which has a different sensor setup but seemed to perform quite well. It also has locking connectors for the PWM's which is cool (other than having to buy new connectors), but we really haven't had that much problem with PWM wires coming loose.

Has anyone used both of these? Have any good experienced comparisons for us? Thanks!
As creator of the navX-MXP/MICRO I have to say that the Spartan connector breakout is very nicely done - kudos to WCP on that.

Moving beyond the side-by-side gyro accuracy comparisons which I understand are very similar, I'm not aware that the Spartan board has accelerometers or magnetometers on it. YMMV as to whether these features are valuable, but certain teams definitely use the accelerometer data to balance the robot, and the magnetometer to acquire initial compass orientation before the motors are energized at the start of a match.

Beyond the sensing capabilities, there's one key architectural feature in navX-MXP/navX-MICRO that definitely differentiates it - Simulaneous Multi-port data: using a dedicated 100Mhz microcontroller with simultaneous multi-port communication at 200Hz update rate (TTL UART, I2C, SPI and USB are all simultaneous).

The simultaneous multi-port data capability enables some very interesting features in a distributed processing environment, like connecting a navX-MXP/MICRO to both the RoboRIO and a separate video processor like the Raspberry PI or the nVidia Jetson. This allows the video processor to acquire IMU/1-millisecond resolution timestamp data from the navX at the instant each video frame is acquired, send that along with detection info to the RoboRIO, after which the Robot Control Software in the RoboRIO can look back into a 3D time history to correct the angles calculated by video processor to account for any motion occurring during the detection processor.

Note that this is a 3D time history of orientation, which includes not only changes to yaw but also tip and tilt; navX fuses gyro and accel data to yield a quaternion which represents 3d orientation.

The libraries and drivers to allow teams to easily add this capability to their robot control system are under development and are expected to be released by the time the 2017 season starts - as a free upgrade to existing navX-MXP and navX-MICRO customers.

Another useful feature this enables is to connect navX-MXP/navX-MICRO over USB to your PC to monitor it's behavior and/or stream sensor data to the PC disk at the same time it's connected to the RoboRIO.

Lastly, since I'm implying there's a dimension of apples and oranges in the comparison, one possibility I haven't heard discussed here is using the best of each. This configuration would use the Spartan board w/out the Gyro - for it's superior IO connector design - and then add a navX-MICRO sensor connected over USB for 9-axis, multiport orientation data.
Reply With Quote