Wiki

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
first:adxrs450_gyro_board_frc [24 Oct 2018 16:53] – Add java guide link Kristen Chongfirst:adxrs450_gyro_board_frc [12 Dec 2018 17:21] (current) – [Using the Gyro on Your Robot] Kristen Chong
Line 1: Line 1:
 ====== ADXRS450 Gyro Board for FIRST Robotics ====== ====== ADXRS450 Gyro Board for FIRST Robotics ======
-The [[adi>ADXRS450]] gyro board is a single-axis industrial sensor, designed to get teams up and running quickly without having to load 3rd-party libraries. This gyro is readily accessible through multiple sources and is recommended for all teams, including those with no gyro experience. It plugs directly into the SPI port on the RoboRIO and libraries are already included in WPILib - all you have to do is declare it in your robot code and use it!+The [[adi>ADXRS450]] gyro board is a single-axis industrial sensor, designed to get teams up and running quickly without having to load 3rd-party libraries. This gyro is readily accessible through FIRST Choice and is recommended for all teams, including those with no gyro experience. It plugs directly into the SPI port on the RoboRIO and libraries are already included in WPILib - all you have to do is declare it in your robot code and use it!
 \\ \\
 \\ \\
-Supporting code for the ADXRS450 only exists in the three main programming languages supported by FIRST. If your team wants to use this board with other programming languages, please refer to the [[adi>ADXRS450]] product datasheet for more information on how to communicate with this gyro via SPI.+Supporting code for the [[adi>ADXRS450]] is only available for programming languages supported by FIRST. If your team wants to use this board on other platforms or with other programming languages, please refer to the [[adi>ADXRS450]] product datasheet for more information on how to communicate with this gyro
 +\\ 
 +\\ 
 +If you're looking for information on other ADI donation resources, [[first:first_robotics_donation_resources|click here]] to go back to the main page.
 \\ \\
 \\ \\
Line 10: Line 13:
 \\ \\
 \\ \\
-{{:first:gyroaccel.jpg?nolink |}}==== FRC Accelerometer & Gyroscope (REV1) ==== +{{:first:gyroaccel.jpg?nolink |}}==== FRC Accelerometer & Gyroscope (Rev. A) ==== 
-This version was made available to FRC teams through 2016. It includes both the [[adi>ADXRS450]] and the [[adi>ADXL362]] accelerometer. This board continues to be supported by WPILib and you can even use the WPI Accelerometer library to connect to it if you want. Just note that the accelerometer component is no longer supported, so there's a chance that new RoboRIO firmware released each year may not work with this sensor.+This version was made available to FRC teams through the 2016 FRC season. It includes both the [[adi>ADXRS450]] gyroscope and the [[adi>ADXL362]] accelerometer. Both sensors on this board continue to be supported by WPILib, so the accelerometer library can be used to read acceleration data just like the gyro library is used to read rotation rate.
 \\ \\
 \\ \\
 \\ \\
-{{:first:am-3555-2.jpg?nolink&150 |}}==== FRC Gyro with Chip Select Jumper (REV2) ==== +{{:first:am-3555-2.jpg?nolink&150 |}}==== FRC Gyro with Chip Select Jumper (Rev. B) ==== 
-This version of the gyro board was available for the 2017 and 2018 seasons. The accelerometer was removed in favor of a jumper that allows you to configure the "chip select" pin used to communicate with the sensor in case you want to have other devices on the same SPI bus. To use the libraries built-in to WPILib, the default configuration should be to connect the jumper between the CS0 pin and the unlabeled center pin. If you want to use a different setting, you will need to change the "chip select" pin address when initializing the sensor in your robot code. The sections below detail how to do this for each of the three supported languages.+This version of the gyro board was available for the 2017 and 2018 FRC seasons. The accelerometer was removed in favor of a jumper that allows you to configure the Chip Select (CS) pin used to communicate with the sensor. This change allowed users to have other sensors (or SPI peripherals) on the bus without the gyro interfering. To use the libraries built into WPILib without any changes, the jumper should be installed as shown in the image to the left. If you want to use a different setting, you will need to change the Chip Select (CS) pin address in your robot code. The sections below detail how to do this for each of the three supported languages.
 \\ \\
 \\ \\
-==== FRC Gyro With Solderable Jumpers (REV3) ==== +==== FRC Gyro With Solderable Jumpers (Rev. C) ==== 
-This is the lower-cost, more reliable version of the sensor board made available to teams starting with the 2019 season. To make using the sensor even easier for teams, we removed the chip select pin jumpers and added a solderable jumper. This change improves reliability as there is no risk of the jumper accidentally getting lost or removed, but still allows teams the flexibility of adding additional sensors to the SPI bus.+This is the lower-cost, more robust version of the sensor board made available to teams for the 2019 FRC season. To make using the sensor even easier for teams, we removed the chip select pin jumpers and added a solderable jumper. This change improves reliability as there is no risk of the jumper accidentally getting lost or removed, but still allows teams the flexibility of adding additional devices to the SPI bus.
 \\ \\
 \\ \\
-===== A Note on Gyro Calibration ===== +===== A Note on Offset Calibration ===== 
-To help the robot identify a starting angle position more accurately and remove gyro drift, it is recommended that you allow the robot to calibrate the sensor firstIt will do this by taking several readings from the sensor and averaging them together to obtain a value which will be subtracted from every subsequent reading after the calibration is complete. Calibration typically takes about 30 seconds.+To help the robot minimize start-up drift and improve overall sensor performancean offset calibration function has been built into the gyro driverThis function captures several seconds worth of data and calculates an average offset which is then applied to the sensor output. By default, calibration is automatically started once the RoboRIO begins executing user code and usually takes about 10 seconds to complete
 \\ \\
 +<note important>The gyro used in the [[adi>ADXRS450]] measures //angular rate//, not //angle!// Any movement during the offset calibration routine **will** introduce some error into **every** sensor measurement! Over time, this error, will appear as "drift" in your angle measurement. **It is VERY important that the robot remains completely stationary during this calibration period!**</note>
 \\ \\
-<note important>Remember, the ADXRS450 is a rate sensor, not a raw angle sensorso any movement during this calibration routine will cause the robot to add the measurements of that movement to the value that is subtracted from all readings** This will cause large amount of apparent "drift" in your subsequent sensor readingsBecause of this, it is imperative that the robot is left completely stationary during this calibration period!**</note>+<note tip>Offset calibration should be performed as soon as the robot is powered on to prevent the routine from interfering with any autonomous code execution. If your gyro angle readings are drifting drasticallyclicking **Restart Robot Code** in the driver station will force the RoboRIO to re-execute the offset calibration routine. This should fix any drift issues caused by bad offset measurement.</note>
 \\ \\
 \\ \\
-Calibration should be performed as soon as the robot is powered onto prevent the calibration routine from interfering with any autonomous code execution. You can usually tell that your robot was bumped during calibration if you notice that your gyro angle readings are drifting off into space very rapidly. In LabVIEW, this calibration is done as part of the initialization. But in other languages, you must explicitly call the calibrate routine. You can read more info on your team's specific language at the links below.+===== Using the Gyro on Your Robot ===== 
 +{{ :first:adxrs450_rotation_figure.jpg?nolink|}}The figure to the right illustrates the direction of rotation which will generate a positive response from the ADXRS450 gyroscope.
 \\ \\
 \\ \\
-===== Using the Gyro on Your Robot ===== +For more information on how to add gyro functionality to your robot code, select your team's programming language from the list below.
-For more information on how to add gyro functionality to your robot code, select your team'preferred programming language from the list below.+
 \\ \\
 \\ \\
first/adxrs450_gyro_board_frc.1540392821.txt.gz · Last modified: 24 Oct 2018 16:53 by Kristen Chong