1 / 37

ENGR 100 - Robotics Project

ENGR 100 - Robotics Project. Presentation Outline. I. Background Information II. Design Project III. Engineering (Robot Basics) IV. Programming the RCX. Presentation Outline. I. Background Information II. Design Project III. Engineering (Robot Basics)

Download Presentation

ENGR 100 - Robotics Project

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ENGR 100 - Robotics Project

  2. Presentation Outline I. Background Information II. Design Project III. Engineering (Robot Basics) IV. Programming the RCX

  3. Presentation Outline I. Background Information II. Design Project III. Engineering (Robot Basics) IV. Programming the RCX

  4. Who Builds Robots? • EE - designs “the brain”, sensors, actuators & wiring. • ME - designs body, gearing, actuators • CSE - writes software • CHEM E - designs (or selects) power supply. • MAT’L SCI - materials All engineers listed above work together to design/build robots.

  5. Robotics made easy? Design Problem - Design and build a robot to vacuum your house. What are some of the challenges?

  6. Design Challenges for Mobile Robots • Position - How does robot know where it is (or has been)? • Power supply - How does it avoid running over cord? • Navigation - How does it navigate around obstacles? • Object Recognition - How does it recognize money, toys, even cats?

  7. Presentation Outline I. Background Information II. Design Project III. Engineering (Robot Basics) IV. Programming the RCX

  8. Project Objectives The goals of this project are for students to: • Build a programmable robot. • Learn how robotics involves a multitude of skills and knowledge from many subject areas. • Experience the design process. • Be introduced to basic computer programming. • Get excited about Science and Technology.

  9. The objective of this project is to build a computer controlled robot that can safely deliver an immobile person 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. Problem Definition

  10. 1 ft 1ft 4 ft 68” 4 ft 2 ft Obstacle Course Layout 8 ft 8 1/3 ft Defender Free Zone

  11. The RCX can store 3 different programs: Program 1 - Robotic Wheelchair (do first!) Program 2 - Car Program 3 - Defender (be creative!) Programming Tasks

  12. Scoring 10 pts 1 1ft ft 10 pts 10 pts 10 pts 10 pts Additional points each round - 10 pts for Crosswalk, 10 pts for Car, and 20 pts for Defender (that stops wheelchair). Base Pts – At some point before competition day, each team’s robot must complete the entire course (high score recorded)!

  13. Rules (see handout for complete listing) • Robotic wheelchairs cannot be touched once competition has started. • Malfunctioning defenders and cars will be removed from course. • Max robot dimensions at start of competition - 1 ft x 1 ft x 1 ft • Wheelchairs and cars sending messages will be disqualified.

  14. Design Approaches • "Top-down" design • the process of starting with the goal of the project and then developing a solution. • "Bottom-up" design • the process of first learning about the available materials and then determining what can be done with them.

  15. Nov. 19 Gears/ Programming Due: Programming Assignment (HW) Nov. 21 Build a Simple Pathfinder Due: Web Site Research (HW) Nov. 23 HOLIDAY! Nov. 26 Program Simple Pathfinder Nov. 28 Program Pathfinder Nov. 30 RCX Code/NQC Due: Simple Pathfinder (HW) Dec. 3 Robot Construction Dec. 5 Robot Construction Dec. 7 Robot Testing Due: Draft Report Dec. 10 Robot Testing Dec. 12 Robot Competition Due: Final Robot Robotics Project Schedule Due Mon. Dec. 17: Robot Report (25%)& Reflection Paper (10%)

  16. Homework Assignments • Simple Pathfinder Tasks Go forward. Go backwards. Maneuver a 30 o turn. Avoid obstacles. Halt for 5 s after crossing dark line. Stop and go after receiving signal from Master Controller.

  17. Presentation Outline I. Background Information II. Design Project III. Engineering (Robot Basics) IV. Programming the RCX

  18. Robot Basics - Sensors & Motors • Input/Output Ports • Touch sensors • Light sensors • Motors • RCX signals Tips - Use view mode to check light sensor. Battery power affects speed of motors. Batteries run out fast! Don’t block infrared sensor.

  19. Robot Basics - Gears • Speed • Torque (climb over obstacles) • Turns Tips - Try different size gear combinations, different types of gears (worm), and different motor placement (rear wheel drive or 4 wheel drive).

  20. Example of 4 wheel drive 4 wheel drive

  21. Robot Basics - Control Structures No matter what language you use, there are 3 basic control structures for organizing the programming commands: • Sequential • Repetition (Loops) • Conditional

  22. Sequential • Sequential statements are defined as a list of commands that are executed in order. • For example: Set Forward Direction Go forward for 3 s Stop

  23. Repetition • Repetition statements allow for a series of commands to be repeated for a set number times. • For example: Repeat 3 times Set forward direction Move forward for 3 s Stop End Repeat

  24. Conditional • Conditional statements allow for two (or more) different sets of commands to be executed depending on a condition. • For example, • If certain conditions are true - one set of commands will be execute. • Else if any (or all) are false - another set of commands will be executed.

  25. Example of Conditional Statements • For example - • If the light is <50% Set Direction Forward Move Forward for 3 s Stop • Else If light is >= 50% Stop • End

  26. Quiz • What are the 3 types of control structures? • Which would work best for the following situations - • Robotic wheelchair executes a left turn. • Robot wheelchair backs up if it hits the wall. • Car moves back and forth across crosswalk.

  27. Presentation Outline I. Background Information II. Design Project III. Engineering (Programming and Gears) IV. Programming the RCX

  28. How To: Write Programs • Click on “Program RCX.” • Stack puzzle pieces. • Move unused pieces to the trash. • Download program to the RCX.

  29. RCX Programming Commands: Tell robot what to do (e.g. stop, go, turn, etc.). Sensor Watchers: Test conditions (e.g. light, touch, count) and determine actions based on conditions. Stack Controllers: Allows robot to repeat commands or wait until condition is true. My Commands: Makes several actions a “subroutine” which can be used as a single command. See handout for more information!

  30. Demo Robot Robot backs up for 1 s. Both motors stop in preparation of power change. Power increases to overcome wheel friction when turning. Wheel A changes to forward, so robot turns to the right for .1 s. Power decreases to protect sensors when robot bumps objects. Wheel C changes to forward, so robot moves forward.

  31. NEW RCX Program Code • Commands • Sensor Watchers • Stack Controllers • “My Commands” See “Info on RCX Code” link on web site.

  32. How To: Download Firmware • click on “Getting Started” and then “Set Up Options”

  33. How To: Download Firmware

  34. How To: Download Programs Select button to download Select program number (1-5)

  35. How To: Save Programs

  36. Features of RCX software • Multi-threaded language • Different parts of the program execute at the same time. • Can cause unexpected results! • Loops in main program interfere with subprogram. • Variables limited to 1 or 0 • Use counter as variable. • Not Quite C (NQC) language allows for more variables.

  37. NQC (Not Quite C) Programming

More Related