Wei-chih Wang, Engr. Section A ENGR Robotics Project
Wei-chih Wang, Engr. Section A Presentation Outline I. Background Information II. Design Project III. Engineering (Programming and Gears) IV. Programming the RCX
Wei-chih Wang, Engr. Section A Presentation Outline I. Background Information II. Design Project III. Engineering (Programming and Gears) IV. Programming the RCX
Wei-chih Wang, Engr. Section A Who Builds Robots? zEE - designs “the brain”, sensors, actuators & wiring. zME - designs body, gearing, actuators zCSE - writes software zCHEM E - designs (or selects) power supply. zMAT’L SCI - materials All engineers listed above work together to design/build robots.
Wei-chih Wang, Engr. Section A Design Challenges for Mobile Robots zPosition - How does robot know where it is (or has been)? zPower supply - How does it avoid running over cord? zNavigation - How does it navigate around obstacles? zObject Recognition - How does it recognize money, toys, even cats?
Wei-chih Wang, Engr. Section A Presentation Outline I. Background Information II. Design Project III. Engineering (Programming and Gears) IV. Programming the RCX
Wei-chih Wang, Engr. Section A Project Objectives The goals of this project are for students to: yBuild a programmable robot. yLearn how robotics involves a multitude of skills and knowledge from many subject areas. yExperience the design process. yBe introduced to basic computer programming. yGet excited about Science and Technology.
Wei-chih Wang, Engr. Section A Problem Definition zThe objective of this project is to build a computer controlled robot that can safely deliver an stuff animal through an obstacle course in the shortest amount of time. To simulate real world situations, the robot must be able to climb a small ramp, cross a street without getting hit by a car, turn corners, fight off aggressive animals, climb stairs and free itself from a sandpit.
Obstacle Course Layout 10 pts 25 pts 10 pts 50 pts 60 pts 10 pts Defender Zone 50 Pts 10 pts
Wei-chih Wang, Engr. Section A Programming Tasks The RCX can store 3 different programs: zProgram 1 - Robotic Wheelchair (do first!) zProgram 2 - Car zProgram 3 - Unfriendly Robot (be creative!)
Wei-chih Wang, Engr. Section A 10 pts 25 pts 10 pts 50 pts 60 pts 10 pts Defender Zone 50 Pts 10 pts 25 points are awarded to team that programs the robot to stop at the crosswalk when the “message # 1” signal is received from the master controller and it proceeds after receiving the “message # 2”. 25 points are awarded to team that programs the robot to stop and back away from the crosswalk when “message # 1” is received from the master controller. 50 points are awarded to team that either fight off the unfriendly robot or stop the robotic wheelchair from moving forward. 10 points each are awarded to team that go over a 3” ramp, ¼” steps or sand pit
Wei-chih Wang, Engr. Section A Design Approaches z"Top-down" design ythe process of starting with the goal of the project and then developing a solution. z"Bottom-up" design ythe process of first learning about the available materials and then determining what can be done with them.
Wei-chih Wang, Engr. Section A ENGR Robotics Project Deliverables zHW ySimple Pathfinder Test yDesign Specification yFinal Report zpathfinder program (20%) zDesign Specification (10%) zFinal Robot - Score (30%) zGroup Final Report (40%) zExtra Credit (10%)
Wei-chih Wang, Engr. Section A Robotics Project Schedule *Final Report & Reflection Paper due Fri. June 8.
Wei-chih Wang, Engr. Section A Homework Assignments zFinal Report Please follow the format in the handout
Wei-chih Wang, Engr. Section A Homework Assignments Go forward for 2.5 second (set the power at 7). Go backwards for 3 seconds (set the power at 1) - Can your robot move? Maneuver a 30 o turn. Avoid obstacles to the left, right, and between the two tactile sensors as the robot moves forward. Halt for 5 s when the light intensity reaches 50%. Stop after receiving Message 1 and move forward after receiving Message 2 from the Master Controller. Simple Pathfinder
Wei-chih Wang, Engr. Section A Homework Assignments zDesign Specification Print out copies of the 3 programs (wheelchair, car, and unfriendly). With a pen, label what each command does and why. Someone reading these programs would be able to understand your programming logic (similar to pseudo code). The purpose of this assignment is to make sure your team understands computer programming.
Wei-chih Wang, Engr. Section A Presentation Outline I. Background Information II. Design Project III. Engineering (Programming and Gears) IV. Programming the RCX
Wei-chih Wang, Engr. Section A Robot Basics - Gears zSpeed zPower (climb over obstacles) zTurns Tips - Try different size gear combinations, different types of gears (worm), and different motor placement (rear wheel drive or 4 wheel drive).
Wei-chih Wang, Engr. Section A 4 wheel drive
Wei-chih Wang, Engr. Section A Robot Basics - Programming No matter what language you use, there are 3 basic techniques for organizing the commands used in programming: ySelection yRepetition (Loops) yConditional
Wei-chih Wang, Engr. Section A Selection zSelection statements are defined as a list of commands that are executed in order. zFor example: Set Forward Direction Go forward for 3 s Stop
Wei-chih Wang, Engr. Section A Repetition zRepetition statements allow for a series of commands to be repeated for a set number times. zFor example: Repeat 3 times Set forward direction Move forward for 3 s Stop End Repeat
Wei-chih Wang, Engr. Section A Conditional zConditional statements allow for two (or more) different sets of commands to be executed depending on the conditions at the time. zFor example, if certain conditions are true, one set of actions will be taken, and if any (or all) are false, than another set of commands will be executed.
Wei-chih Wang, Engr. Section A Example of Conditional Statements zFor example - yIf the light is <50% Set Direction Forward Move Forward for 3 s Stop yElse If light is >= 50% Stop yEnd
Wei-chih Wang, Engr. Section A Features of RCX software zMulti-threaded language Means that the main program can be executing at the same times as a subprogram. Can cause unexpected results! zVariables limited to 1 or 0 (or counter) Consider programming in Not Quite C language if you have previous programming experience, if need more values for variables.
Wei-chih Wang, Engr. Section A Presentation Outline I. Background Information II. Design Project III. Engineering (Programming and Gears) IV. Programming the RCX
Wei-chih Wang, Engr. Section A Programming the RCX Stack puzzle pieces to make programs. Then download them to the RCX.
Wei-chih Wang, Engr. Section A Saving the Program Select button to download Select program number (1-5)
Wei-chih Wang, Engr. Section A Saving the Program
Wei-chih Wang, Engr. Section A Programming the RCX Tells robot how to respond to touch and light. Tells robot how to move: on, off, direction, wait, other. Changes the way parts of your program run (repeat, conditional) Allows you to create your own “subroutines.” See handout for more information!
Wei-chih Wang, Engr. Section A To download Firmware, click on “Getting Started” and then “Set Up Options”
Wei-chih Wang, Engr. Section A
RCX Command Center - NQC
Wei-chih Wang, Engr. Section A To do List: zTake kit home and install on computer. zView training video and/or challenges. zCheck out the related web sites. zBuild a Simple Pathfinder (pg ). zProgram the robot.