Changes between Version 4 and Version 5 of ControlSystemsMentoring


Ignore:
Timestamp:
May 4, 2016, 10:08:44 AM (9 years ago)
Author:
benjialbert
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ControlSystemsMentoring

    v4 v5  
    22  * The software that controls the robot and its mechanisms
    33  * The sensing systems that detect the robot environment (e.g. sonar, lidar, switches, encoders, gyroscopes, accelerometers, etc.)
    4   * Scouting software: typically an android/ios phone app used during competitions to track the performance of other teams and robots that is used by the Game Captain to help determine which other teams would form the best alliances.
     4  * Scouting software: typically an android/ios phone app used during competitions to track the performance of other teams and robots.  The Game App is used by the Game Captain to help determine which other teams would form the best alliances.
    55  * IT infrastructure - this wiki, software version control, a trouble ticketing system, etc.
    66
    77Control Systems and Mechanical are the two largest sub-teams and each should have at least 3-4 regular full-time mentors and several part-time mentors.  Full-time mentors must know Java well.  At least one of the mentors must be well versed in embedded systems and digital interfacing to help students understand the sensors they will use and how to connect them to the control computer.  In the past, Arduino and Raspberry Pi microcontrollers have also been used for auxiliary sensor processing such as processing data from 9-degrees-of-freedom (9DOF) sensors or to perform machine vision.
    88
    9 '''Robot Software Development''': An FRC robot consists of a battery, a power distribution system, a !RoboRio + software, wifi bridge, sensors, motors and motor controllers, and mechanisms.  The robot is remotely controlled (like a radio-controlled car) via !WiFi wireless link from a "Drive Station" which is a laptop with joysticks and game controllers.  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. 
     9'''Robot Software Development''':
    1010
    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.
     11An 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
     27The 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
     32Team 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
     34The !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.
    1235
    1336'''Training'''- Control Systems students have widely varying levels of software development experience ranging from never having written a line of code to remarkably sophisticated (like a strong undergraduate CS student).  During the pre-season, mentors should work with the student leads to divide the team into groups based on their experience levels and map out the pre-season training activities that will best help each group.  For example, new students need to learn Java, learn about sensing/sensors, and learn about the basic robot development environment (RoboRio, WPILib).  Students focusing on sensors should learn to read datasheets, the basics of digital interfacing.  More advanced students should learn PID control and build skills with machine vision, autonomous navigation, targeting, etc.  Training should be '''overwhelmingly''' hands-on with as little power-point/chalkboard as possible; the students have spent all day in classrooms and respond much better to activities (and they are more fun).  Activities:
     
    1841
    1942Topics 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]
     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]
    4861