Changes between Version 9 and Version 10 of SoftwareOverviewControl


Ignore:
Timestamp:
Sep 2, 2017, 11:20:02 AM (8 years ago)
Author:
David Albert
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SoftwareOverviewControl

    v9 v10  
    66
    77=== Teleop Control ===
    8 [[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.
     8[[Image(Driver_Station.jpg,25%,nolink,right)]] In many ways, a robot in teleop mode is like a giant, sophisticated remote-control car.  When an FRC robot is in Teleop mode, a human driver stands at a Driver Station (see picture to right) and uses a laptop running special software and joysticks or gamepads to control the robot.
    99
    1010The 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.
     
    1212In 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.
    1313
    14 '''Exercise''': Drive a robot
     14'''Exercise''': Drive a robot (ask for a senior student or mentor for help)
    1515
    16  * Materials Needed: peanut robot with camera, freshly charged battery, driver station, mentor or senior student
     16 * Materials Needed: robot with camera, freshly charged battery, driver station, mentor or senior student
    1717 * Activities:
    1818   * Connect/install battery in robot
     
    4343 * What happened: Using simple instructions, you can program a robot to operate autonomously and achieve surprisingly sophisticated results.
    4444
    45 It'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 targets (it has no eyes!), the terrain is perfect and so is its movement.  With a real robot, even simple things like moving forward in a straight line are quite complex: the motors that power each wheel 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 causing the robot to turn.  Even worse, robot wheels don't have equal traction with the ground (especially if the robot has no mechanical suspension)...if the robot isn't perfectly level and balanced (which it never is), one wheel on a 4 wheel robot may 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 straight forward, 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.  Once moving in a straight line, determining how far the robot has traveled is another challenge since wheels will slip and terrain can be uneven; again, software must use information from sensors to count wheel rotations, laser or ultrasonic range finders to measure distances, and intelligent vision systems to try to identify targets.[[BR]][[BR]]This should give some appreciation for the challenges facing [https://waymo.com/ self-driving cars] which are essentially robots that carry people.
     45It'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 targets (it has no eyes!), the terrain is perfect and so is its movement.  With a real robot, even simple things like moving forward in a straight line are quite complex: the motors that power each wheel 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 causing the robot to turn.  Even worse, robot wheels don't have equal traction with the ground (especially if the robot has no mechanical suspension)...if the robot isn't perfectly level and balanced (which it never is), one wheel on a 4 wheel robot may 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 straight forward, 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.  Once moving in a straight line, determining how far the robot has traveled is another challenge since wheels will slip and terrain can be uneven; again, software must use information from sensors to count wheel rotations, laser or ultrasonic range finders to measure distances, and intelligent vision systems to try to identify targets.[[BR]][[BR]]This should give some appreciation for the challenges facing [https://waymo.com/ self-driving cars] which are essentially robots that carry people.