Changes between Version 8 and Version 9 of SoftwareOverviewControl


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

--

Legend:

Unmodified
Added
Removed
Modified
  • SoftwareOverviewControl

    v8 v9  
    3535 * Materials needed: computer with web browser and internet connection, patience
    3636 * Activties:
    37      * Launch browser and go to the [!http://www.sonic.net/~nbs/webturtle/ the robot turtle simulator]
    38      * 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
    39      * Click the "Start a new drawing" link
    40      * 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]
    41      * Click the Draw It button to see the results
    42      * Experiment, look at and try examples
     37   * Launch browser and go to the [!http://www.sonic.net/~nbs/webturtle/ the robot turtle simulator]
     38   * 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
     39   * Click the "Start a new drawing" link
     40   * 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]
     41   * Click the Draw It button to see the results
     42   * Experiment, look at and try examples
    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 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.
     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.