14 | | * Arduino/mini-bots - there is a lot of existing training material on this wiki that uses inexpensive Arduino single-board computers to teach basic programming (in C), electronics and sensor interfacing. There are also several mini-robots that use Arduino controllers and can be programmed used to explore autonomous robotics. These exercises were well received by students, but because the competition environment is very different (Java, !RoboRio, WPILib), these exercises have limited transferability to competition robot skills, but they are better than nothing if more suitable hands-on training platforms are not available. The mini-bots are small and safe and the students can use them without supervision. |
15 | | * Competition-bot trainers - there are (or should be) several cut-down robot platforms from prior years that are great environments for training. These robots include a RoboRio (the standard linux single board computer required as the robot controller for competition) and the same electronic subsystems and mechanical drive bases used for competition. Competition bot trainers allow students to train in the same environment used for competition which is ideal, but the competition bots are large and can be dangerous; they should only be used by experienced students and generally require mentor supervision. |
| 14 | * Arduino/mini-bots - there is a good deal of [wiki:ArduinoDevelopment existing training material] that uses inexpensive Arduino single-board computers to teach basic programming (in C) and basic electronics/sensor interfacing. The team owns many Arduinos and training kits as well as several mini-robots that use Arduino controllers and can be programmed to explore autonomous robotics. The mini-bots are small and safe and the students can use them without supervision. These exercises were well received by students, but because the competition environment is very different (Java, !RoboRio, WPILib), have limited applicability to competition robot skills. They are good for learning about sensors and having fun, but there are better training platforms. |
| 15 | * Competition-bot trainers - there are (or should be) several cut-down robot platforms from prior competitions that are great for training. These robots include a !RoboRio (the standard linux single board computer required as the robot controller for competition) and the same electronic subsystems and mechanical drive bases used for competition. Competition bot trainers allow students to train in the same environment used for competition which is ideal, but the competition bots are also large, powerful, and can be dangerous; they should only be used by experienced students and generally require mentor supervision. |
19 | | |
20 | | |
| 19 | Topics students should learn include: |
| 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] |
| 48 | |