11 | | The !RoboRio/WPILib environment is complex and requires a considerable investment of time to learn. New mentors should spend some time with the FRCSim simulator (see below) and with the [https://wpilib.screenstepslive.com/s/4485 ScreenStepsLive tutorials] to get comfortable with and understand the environment. Although the Electrical team installs and connects other system components such as the [http://www.andymark.com/product-p/am-2856.htm Power Distribution Panel] and [http://www.vexrobotics.com/217-8080.html Talon SRX] motor controllers, the Control Systems mentors should have a good understanding of these components, their capabilities, and their interfaces. |
| 11 | An FRC robot consists of: |
| 12 | * A 12v sealed lead acid (SLA) battery |
| 13 | * A [http://www.andymark.com/product-p/am-2856.htm power distribution system] |
| 14 | * A [http://www.andymark.com/product-p/am-3000.htm !RoboRio] single board linux computer |
| 15 | * A [http://www.andymark.com/OM5P-AN-p/am-3277.htm WiFi bridge] (aka. radio) |
| 16 | * A [http://www.andymark.com/AM14U3-p/am-14u3.htm Chassis] / drive base (COTS or custom) |
| 17 | * [http://www.andymark.com/Motor-p/am-0255.htm Powerful Motors] (CIM motors) |
| 18 | * Intelligent [http://www.vexrobotics.com/217-8080.html motor controllers] |
| 19 | * Other [http://www.andymark.com/Motors-s/260.htm motors] and electrical or [http://www.andymark.com/product-p/am-2979.htm pneumatic] actuators |
| 20 | * Safety features (fuses, lights, switches) |
| 21 | * Optional: [https://www.arduino.cc/ Arduino] and [https://www.raspberrypi.org/ Raspberry Pi] auxiliary processors |
| 22 | * Custom mechanisms designed and built by the students to achieve the current competition goal |
| 23 | * Sensors needed to achieve the current competition goal (switches, [http://www.andymark.com/product-p/am-2435.htm ultrasonic] and [http://www.robotshop.com/en/lidar-lite-2-laser-rangefinder-pulsedlight.html lidar] distances sensors, [http://www.andymark.com/product-p/am-3132.htm rotational encoders], [https://www.sparkfun.com/products/10736 accelerometers, gyros], etc.) |
| 24 | * [http://www.andymark.com/product-p/am-3025.htm USB Camera(s)] |
| 25 | * Custom software written by the students that controls the robot. The software runs within the [https://wpilib.screenstepslive.com/s/4485 FRC WPILib] environment |
| 26 | |
| 27 | The robot is remotely controlled (like a radio-controlled car) via !WiFi wireless link from a "Drive Station" which is: |
| 28 | * A laptop |
| 29 | * Joysticks or X-Box game controllers |
| 30 | * [https://wpilib.screenstepslive.com/s/4485/m/24192 FRC Driver Station] software |
| 31 | |
| 32 | Team 2537 uses Java to develop its robot software because it is consistent with the HCPSS computer science program. The software runs on a National Instruments [http://sine.ni.com/nips/cds/view/p/lang/en/nid/213308 NI RoboRio] single board linux computer, available at a large discount (but still expensive) from !AndyMark [http://www.andymark.com/product-p/am-3000.htm here]. The Java software runs in an environment developed by Worcester Polytechnic Institute (WPI) known as [https://wpilib.screenstepslive.com/s/4485 WPILib]. WPILib provides a rich but rigid environment to facilitate robotics in the FRC competition environment; it is essentially the OS within which the robot code runs. |
| 33 | |
| 34 | The !RoboRio/WPILib environment is complex and requires a considerable investment of time to learn. New mentors should spend some time with the [https://wpilib.screenstepslive.com/s/4485/m/23353 FRCSim simulator] and with the [https://wpilib.screenstepslive.com/s/4485 ScreenStepsLive tutorials] to get comfortable with and understand the environment. Although the Electrical team installs and connects other system components such as the [http://www.andymark.com/product-p/am-2856.htm Power Distribution Panel] and [http://www.vexrobotics.com/217-8080.html Talon SRX] motor controllers, the Control Systems mentors should have a good understanding of these components, their capabilities, and their interfaces. |
20 | | * Java |
21 | | * Basic sensors |
22 | | * encoders |
23 | | * limit/proximity switches (mechanical, magnetic, optical) |
24 | | * ultrasonic and LIDAR distance sensors |
25 | | * Robot Hardware Environment |
26 | | * !RoboRio |
27 | | * Drive Station |
28 | | * Power Distribution Panel |
29 | | * Talon SRX motor controllers |
30 | | * Safety features (fuses, lights, switches) |
31 | | * Optional: [https://www.arduino.cc/ Arduino] and [https://www.raspberrypi.org/ Raspberry Pi] auxiliary processors |
32 | | * Robot Software Development Environment |
33 | | * Eclipse |
34 | | * WPILib |
35 | | * Command-based robot |
36 | | * Operator Interface |
37 | | * Robot Main |
38 | | * Robot Subsystems |
39 | | * DIO inputs ([https://wpilib.screenstepslive.com/s/4485/m/13809/l/241875-encoders-measuring-rotation-of-a-wheel-or-other-shaft Encoders], [https://wpilib.screenstepslive.com/s/3120/m/7912/l/85635-using-counters Counters and PWM input], etc.) |
40 | | * PWM outputs e.g. [https://wpilib.screenstepslive.com/s/4485/m/13809/l/241860-repeatable-low-power-movement-controlling-servos-with-wpilib servo control] |
41 | | * Intelligent motor control via [http://www.ctr-electronics.com/talon-srx.html#product_tabs_technical_resources CANTalon] [https://www.ctr-electronics.com/Talon%20SRX%20Software%20Reference%20Manual.pdf# manual] [http://first.wpi.edu/FRC/roborio/release/docs/java/edu/wpi/first/wpilibj/CANTalon.html# javadoc] |
42 | | * Software techniques |
43 | | * PID closed loop control |
44 | | * Autonomous navigation (using encoders, 9DOF, etc.) |
45 | | * Targeting systems (using LIDAR, color sensing, etc.) |
46 | | * I2C, SPI, Asynch communications |
47 | | * Machine vision (using [http://opencv.org/ OpenCV] |
| 43 | * Java |
| 44 | * Basic sensors |
| 45 | * Robot Software Development Environment |
| 46 | * Eclipse |
| 47 | * WPILib |
| 48 | * Command-based robot |
| 49 | * Operator Interface |
| 50 | * Robot Main |
| 51 | * Robot Subsystems |
| 52 | * DIO inputs ([https://wpilib.screenstepslive.com/s/4485/m/13809/l/241875-encoders-measuring-rotation-of-a-wheel-or-other-shaft Encoders], [https://wpilib.screenstepslive.com/s/3120/m/7912/l/85635-using-counters Counters and PWM input], etc.) |
| 53 | * PWM outputs e.g. [https://wpilib.screenstepslive.com/s/4485/m/13809/l/241860-repeatable-low-power-movement-controlling-servos-with-wpilib servo control] |
| 54 | * Intelligent motor control via [http://www.ctr-electronics.com/talon-srx.html#product_tabs_technical_resources CANTalon] [https://www.ctr-electronics.com/Talon%20SRX%20Software%20Reference%20Manual.pdf# manual] [http://first.wpi.edu/FRC/roborio/release/docs/java/edu/wpi/first/wpilibj/CANTalon.html# javadoc] |
| 55 | * Software techniques |
| 56 | * PID closed loop control |
| 57 | * Autonomous navigation (using encoders, 9DOF, etc.) |
| 58 | * Targeting systems (using LIDAR, color sensing, etc.) |
| 59 | * I2C, SPI, Asynch communications |
| 60 | * Machine vision (using [http://opencv.org/ OpenCV] |