360 likes | 383 Views
Project Number One. Flow charting and sensor multiplexing project. PROJECT ONE: MAIN OBJECTIVE. The specific objective of this contest is to build a computer controlled Robot that can move through a model floor plan structure of a house,
E N D
Project Number One Flow charting and sensor multiplexing project
PROJECT ONE: MAIN OBJECTIVE • The specific objective of this contest is to build a computer controlled Robot that can • move through a model floor plan structure of a house, • find a red Light Emitting Diode (LED) "Candle", that represents a small house fire, • and extinguish it by covering the LED "candle". • This must be done in the shortest time possible, subject to a few operating factors.
SUBJECTIVES, CONSTRAINTS, PARAMETERS • THE START OF THE GAME • Contestants will be permitted one minute to bring Robot to track immediately followed by a hands off warning. • An audible starting signal 1500Hz will sound anytime within a 30 second period after hands off. • The Robot should begin movement, and at this point the three (3) minutes period will begin (at the audible sound, NOT when the robot moves). • A random selection of numbers will be used to determine the order in which each robot will run.
ROBOT OPERATION • The Robot must be autonomous, that is, once the Robot is turned on it must perform the task of locating and extinguishing the candle by itself. No human intervention is allowed after starting. • The Robot is considered to have entered the room when all its parts have crossed the white line at the doorway. • The Robot must enter via the doorway of the room in which the candle exists, in order to extinguish the candle. • Once the candle extinguisher has been placed over a suspect candle, it must be released. That is, a design cannot visit all three locations and deploy the fire extinguisher. The penalty for trying this approach will be -20 points for each deployment.
Any Robot that damages the playing surface intentionally or unintentionally will be disqualified. • Touching or following the walls of the house will be permitted but discouraged by a possible penalty of -5 points. • The Robot must be able to fit within the 21 cm x 21 cm x 20 cm (W x L ) Home Area (a 21 x 21 x 20 box will be used to determine if the robot qualifies to enter the contest). The robot does not have to hold the cup in this test but additional marks will be given for qualifying when the robot is holding the cup. • The Robot can extend to any size or shape it desires, as long as it is within the room with the expected candle.
TIME LIMIT • The maximum time given for the Robot to locate and extinguish the fire is three (3) minutes. • If the Robot locates, extinguishes the candle, and returns to the Home Area before the three (3) minutes elapse (without committing an offense), then an additional point will be awarded, i.e., one point for returning to the Home Area. • If a Robot does not move or perform any function for a period exceeding one (1) minute, it will lose that trial. • At the end of the three (3) minute period the Robot should stop moving.
CONCAVE LENS • The lens is used to couple scattered light into one focused point
RCX MICROCOMPUTER • Brains of the LEGO Mindstorm • Central programming block(s) • Includes 3 input and 3 output ports, LCD Display, AC adapter connector, infrared transmitter, six AA batteries, AC adapter.
HOW DO WE PROGRAM THE RCX BLOCK? • Through direct or infrared connection with the PC • LEGO Mindstorm exclusive drag and drop programming software • Not Quite C, interactive C and legOS are all acceptable programming languages.
Using Sensor Multiplexers in ROBOT CONSTRUCTION IR PROXIMITY SENSORS (3) MUX MOTOR 1 Left Wheel RCX • COLOR • LINE • SOUND MOTOR 2 Right Wheel MUX • ROTATION (SPEED) SENSORS(2) • BREAK • BEAM • SENSOR MOTOR 3 Robot Arm MUX
PROXIMITY SENSORS Extinguisher cup Robot arm Proximity sensors RCX LED sensor Proximity sensors IR transmitter Robot wheels Light sensor IR receiver FRONT Wheels
ROBOT BEHAVIOR START NO REACH DISTANCE FOR DOOR REACTING TO AUDIBLE SIGNAL MEASURING DISTANCE TRAVELED WHILE FOLLOW DOTTED WHITE LINE YES NO STOPPING AND ROTATING TO CORRECT POSITION NO SENSE LED REACH END OF LINE YES YES EXTINGUISHING LED CANDLE ROTATING TO CORRECT POSITION NAVIGATING TO DOORWAY RETURNING TO HOME AREA
ROBOT BEHAVIOR MEASURING DISTANCE TRAVELED WHILE SENSING ELAPSED TIME SENSING SPEED CALC. DISTANCE TRAVELED FROM SPEED AND TIME ELAPSED FROM HOME POSITION GO TO NEXT POINT AND STOP FOLLOW INSTRUCTIONS BASED ON CURRENTPOSITION MISSION COMPLETE TAKE FASTEST ROUTE TO HOME AREA BASED ON POSITION RECOGNIZED NO YES
ROBOT BEHAVIOR G H F2 H2 E F I B A C C2 D2 D
ROBOT BEHAVIOR WHILE TRACING STEPS FROM DOORWAY EXTINGUISH LED CANDLE SENSE/ DETECT LED LIGHT ROTATE TO POSITION OF STRONGEST LIGHT INTENSITY ENABLE “DETECTION BEAM” MOVE FORWARD UNTIL BEAM IS BROKEN AND STOP ENTER ROOM WHILE RELEASE CUP RETRACE STEPS BACK TO COURSE TAKE FASTEST ROUTE HOME RETRACT ARM AVOIDING WALLS/ CORNERS
ISSUES • HARDWARE: • Robot Drift • Differential • Testing and refinement in a simulated contest setting • Prototyping • Calibration of sensors • SOFTWARE: • Making sensors interact with one another • Overall programming • The abundance of sensors to include in programming
RESOURCES Baum, Dave. Definitive Guide to Lego Mindstorms. Emeryville,CA: Apress, 2000. URL: http://www.plazaearth.com/usr/gasperi/light.htm URL: http://www.hitechnic.com URL: http://www.philohome.free.fr/sensors/colorsensor.htm URL: http://www.kabai.com/lego.htm URL: http://www.stormyprods.com/lego/ Various other Internet sites were used with information on Lego Mindstorms.
Project two Subsumption architecture
Non-real time Tasks are not time critical Hang-up is handled by manual reset Real-time No one process can run forever System stability depends on regular: Inputs, Processing and Outputs WDM will reset a hung processor Control
Real time • Control always flows straight through, without variable delays.
Non-real time • Control may flow straight through, but variable delays may occur. • Variable delays may cause the system to go unstable
Subsumption Architecture • Developed by Prof. Rodney Brooks and the Mobile Robot Group at MIT AI Lab • Distributed real-time control with sensor-triggered behaviors • All levels of control systems execute in parallel • Behavior fusion rather than sensor fusion • A prioritized arbitrator decides dominant behavior for each output time.
Subsumption Architecture – cont. • Behaviors do not control or call each other • However data can be passed out of one process and into another. • If higher-level process does not need to send a new control effort, then lower-level process can send a new value. • Lowest-level process must have a default control effort (I.e. “Go forwards”)
Subsumption Architecture – cont. • Benefits: • Cheaper microcontroller • Easy addition of more processes (simple mod. to arbitrator)
Subsumption Architecture diagram • Functional block diagram • Also called Behavior Control • Good link: http://www.restena.lu/convict/Jeunes/Subsumption.htm
Outputs of Subsumption Architecture • When the this robot’s battery gets low, the Dock process takes over • (Currently no battery monitor on Lego’s robot) • Pictures taken from “Mobile Robots”
Game playing projects Project objectives : Two or three RCX is playing with each other Games : Number guessing Battleship Tic-tac-toe Challenges : Game playing logic Inter RCXcommunication „Client” Player 2 „Client” Player 1 „on turn” „Server” Visualisation
Educational benefitsof the „game playing” projects Students learned and practiced : • Communication protocols • Broadcast, peer-to-peer • Client-server architecture, game master election • Game logic algorithms
Experiments with “discovering robots” Web camera 1. Capturing thecamera image 2. Image processing : Identification of the robotand the target Target object 3. Constructing an internal representation of the environment, searching for a path Mobil robot 4. Sending controlinformation to the robot IR comm. port
The robot must find, turn and go to the target object Robot rear Robot front Target object
Other classroom possibilities Operating systems Inspect, document, and modify firmware Programming languages Develop interpreters/compilers NBC an excellent target language LISP Supplementary labs for CS1/CS2
Another Larger Project Take a child's toy and adapt it through computer programming and ingenuity to become more than what was it originally intended: Communicate to PC and other robots using Bluetooth. Analyze environment to collect data that could be used for machine learning training. Compare the capabilities of various programming environments and the abilities of Lego NXT Mindstorm robots by running complex programs of our own design. Create the first real environment simulator for NXT Decreases development time Can take accurate measurements