Changes between Version 5 and Version 6 of SoftwareOverviewControl


Ignore:
Timestamp:
Sep 2, 2017, 10:54:40 AM (8 years ago)
Author:
David Albert
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SoftwareOverviewControl

    v5 v6  
    1717
    1818=== Teleop Control ===
    19 [[Image(Driver_Station.jpg,30%,nolink,right)]] When an FRC robot is in Teleop mode, a human driver stands at a Driver Station (see picture to right): a laptop running special software and joysticks or gamepads for controlling the robot's actions; the laptop connects to the robot using a wireless radio.  In many ways, a robot in teleop mode is like a giant, sophisticated remote-control car.
     19[[Image(Driver_Station.jpg,25%,nolink,right)]] When an FRC robot is in Teleop mode, a human driver stands at a Driver Station (see picture to right): a laptop running special software and joysticks or gamepads for controlling the robot's actions; the laptop connects to the robot using a wireless radio.  In many ways, a robot in teleop mode is like a giant, sophisticated remote-control car.
    2020
    21 The driver station laptop typically displays status information about the robot and can display video streaming from the robot's cameras.  The human driver watches the video and controls the robot using joysticks or a gamepad to remotely drive the robot and operate its mechanisms.  The picture to the right shows a driver station ready to run at a competition.  One or two human players will use the joysticks and buttons to control every action of the robot.  Teams typically use [https://wpilib.screenstepslive.com/s/3120/m/7882/l/85166-driving-the-robot-with-tank-drive-and-joysticks one or two joysticks] to drive the robot; with two joysticks, one controls the left motors and the other the right motors in an arrangement known as ''tank drive''.
     21The driver station laptop typically displays status information about the robot and can display video streaming from the robot's cameras.  The human driver watches the video and controls the robot using joysticks or a gamepad to remotely drive the robot and operate its mechanisms.  The picture to the right shows a driver station ready to run at a competition.  Teams typically use [https://wpilib.screenstepslive.com/s/3120/m/7882/l/85166-driving-the-robot-with-tank-drive-and-joysticks one or two joysticks] to drive the robot; with two joysticks, one controls the left motors and the other the right motors in an arrangement known as ''tank drive''.  A second human player often operates another joystick or gamepad to control mechanisms (arms, turrets, shooters, etc.) on the robot.
     22
     23In competition scenarios, drivers must often operate the robot while it is obstructed from direct view (e.g. behind a structure); in these cases, the streaming video from the robot is critical to successful driving.
     24
     25'''Exercise''': Drive a robot
     26
     27 * Materials Needed: peanut robot with camera, freshly charged battery, driver station, mentor or senior student
     28 * Activities:
     29   * Connect/install battery in robot
     30   * Turn on robot using main breaker
     31   * Turn on driver station laptop
     32   * Establish wireless link between driver station and robot
     33   * Drive robot
     34   * Drive by wire (watching only the streaming video from the robot)
     35 * What happened: The driver station provides controls and wireless communications allowing a human driver to operate the robot remotely.
     36
     37=== Autonomous Operation ===
     38[[Image(http://files.shandymedia.com/wp-content/uploads/2017/07/26090104/Terminator.jpg,25%,left,nolink,margin=10)]]
     39
     40At the start of each competition, the robot is placed in "autonomous mode" where it operates independently to perform a sequence of required tasks, earning points for each task accomplished.  The autonomous operation is controlled by software that monitors the robot's environment using sensors and interacts with it using actuators (e.g. motors).  The software must determine the robots location and position, locate the objects it must interact with, move to them and manipulate them, all without human intervention.  Autonomous operation is among the most advanced aspects of FRC competition; the Autonomous portion of each competition is short (15 seconds at the start of each 2 minute match) because many teams are not able to field robots with sophisticated Autonomous operation.
     41
     42'''Exercise''': robot turtle
     43
     44The simplest example of programming a robot for autonomous operation is "turtle graphics" where you program a robotic turtle to draw things using a pen attached to its tail.  You give the robot simple instructions like (''RIGHT 90'' to tell the robot to turn 90-degrees to the right) and the robot does whatever you tell it to with the pen dragging behind it.  If you give the robot clever instructions, you can make it draw anything.
     45
     46 * Materials needed: computer with web browser and internet connection, patience
     47 * Activties:
     48   * Launch browser and go to the [!http://www.sonic.net/~nbs/webturtle/ the robot turtle simulator]
     49   * Open the [http://www.sonic.net/~nbs/webturtle/commands/ list of commands] you can use to control the turtle in a separate tab or window
     50   * Click the "Start a new drawing" link
     51   * In the box on the right, enter a set of instructions for the turtle robot; you can see [http://www.sonic.net/~nbs/webturtle/examples/ examples here]
     52   * Click the Draw It button to see the results
     53   * Experiment, look at and try examples
     54 * What happened: Using simple instructions, you can program a robot to operate autonomously and achieve surprisingly sophisticated results.
     55
     56It's important to note that this is WAY simpler than programming a real-world robot.  The turtle is an ideal robot operating in an ideal world.  It has no obstacles to avoid, it doesn't need to find a target (it has no eyes!), the terrain is perfect as is its traction, etc.  With a real robot, even simple things like moving forward in a straight line are actually pretty complex: the motors that power each wheel will vary slightly in speed and strength so applying the same power to each motor will not result in them turning the robot wheels the same amount so the robot will turn unintentionally.  Even worse, the robot wheels won't have equal traction with the ground (especially if the robot has no mechanical suspension)...often one wheel on a 4 wheel robot will have little or no traction at all!  The terrain the robot is traversing may have obstacles, bumps, ramps, etc.  So even the act of driving forward in a straight line is actually fairly challenging.  In order to allow simple operations like driving forward in a straight line, Control Systems students must make use of sensors to continuously monitor the robot's environment (e.g. a compass to determine orientation, a gyroscope to determine when the robot is turning, sensors to determine how fast each wheel is turning, etc.).  The students write software to monitor these sensors and continuously adjust power to each motor to achieve the desired results.