ENGR 100 - Robotics Project - PowerPoint PPT Presentation

About This Presentation
Title:

ENGR 100 - Robotics Project

Description:

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

Number of Views:256
Avg rating:3.0/5.0
Slides: 42
Provided by: MaryC156
Category:

less

Transcript and Presenter's Notes

Title: ENGR 100 - Robotics Project


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.
  • MATL 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
Problem Definition
  • 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.

10
Obstacle Course Layout
8 ft
8 1/3 ft
Defender Free Zone
11
Programming Tasks
  • The RCX can store 3 different programs
  • Program 1 - Robotic Wheelchair (do first!)
  • Program 2 - Car
  • Program 3 - Defender (be creative!)

12
Scoring
-  Pts-25 pts for crosswalk, 25 pts for car and
25 pts for defender (that stops wheelchair), 10
pts for each obstacle      RANKING 1. The
competitor with the best score win the
competition and to be awarded the top prize of
100 in cash!!!!!!!!!!!. 2. The WINNER's score
will also get the maximum 20. 3. The scores of
all other teams will be calculated on the basis
of the winner's score.  
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.

Add Project Planning and Testing phases to
design process.
15
Robotics Project Schedule
16
ENGR 100 - Robotics Project Deliverables
  • HW
  • Simple Pathfinder Test (20)
  • Design Specification (10)
  • performance test (10- extra credit)
  • Final Robot - Score (30)
  • Group Final Report (30)
  • Team members evaluation (10)

17
Homework Assignments
  • Simple Pathfinder Tasks
  • 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.

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

19
Robot Basics - Sensors Motors
  • 3Input/3Output Ports
  • 2Touch sensors
  • 1Light sensors
  • 3Motors
  • RCX signals

Tips - Use view mode to check light sensor.
Battery power affects speed of motors. Batteries
run out fast! Dont block infrared sensor.
20
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).

21
Example of 4 Wheel Drive
4 wheel drive
22
Robot Basics - Control Structures
  • No matter what language you use, there are 3
    basic control structures for organizing the
    programming commands
  • Selection
  • Repetition (Loops)
  • Conditional

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

24
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

25
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.

26
Example of Conditional Statements
  • For example -
  • If the light is lt50
  • Set Direction Forward
  • Move Forward for 3 s
  • Stop
  • Else If light is gt 50
  • Stop
  • End

27
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.

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

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

30
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!
31
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.
32
RCX Program Code
  • Commands
  • Sensor Watchers
  • Stack Controllers
  • My Commands

See Info on RCX Code link on web site.
33
How To Download Firmware
  • Click on getting started and then set up
    options

34
How To Download Firmware
35
How To Download Programs
Select button to download
Select program number (1-5)
36
How To Save Programs
37
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.

38
NQC (Not Quite C) Programming
See Tutorial for Robots using NQC
39
Additional information
  • Links to homemade sensors and NCQ programming
  • Tips on hardware and software

40
references
  • LEGO MINDSOTRMS Robot , Jonathan B. Kundsen ,
    1st edition, 1999, OReilly
  • http//www.crynwr.com/lego-robotics/
  • http//www.plazaearth.com/usr/gasperi/lego.htmbac
    kground
  • http//www.oreilly.com/catalog/lmstorms/resources/
    index.html
  • http//member.nifty.ne.jp/mindstorms/Gallery
  • http//www.robotbooks.com/

41
Interesting Lego related websites
  • (many links) http//www.oreilly.com/catalog/lmstor
    ms/resources/index.html
  • (interesting sites for ideas) http//member.nifty.
    ne.jp/mindstorms/Gallery
  • http//www.mi-ra-i.com/JinSato/MindStorms/index-e.
    html
  • http//staticip.cx/benw/lego/
  • http//www.verinet.com/dlc/botlinks.htm
  • http//www.medialab.nl/Company/Crew/daan/legodiff.
    htm
  • http//www.mindspring.com/clagett/bill/lego/geome
    try/index.html
  • http//www.robotbooks.com/
  • (good introduction to gear and beam construction)
    http//ldaps.ivv.nasa.gov/Curriculum/legoengineeri
    ng.html
  • http//www.fischermellbin.com/Marcus/Lego/Gear_Mth
    /gear_math.html
  • http//phred.org/alex/lego/
  • (ideas for sensors)
  • http//www.plazaearth.com/usr/gasperi/lego.htmbac
    kground
  • http//www.umbra.demon.co.uk/legopages.html
  • http//www.primenet.com/johnkit/Projects.html
  • http//www.mnsinc.com/wesmat/TouchSensor.html
  • http//www.daimi.au.dk/mic/speciale/RCX
  • http//www.crynwr.com/lego/lego-robotics/extreme-r
    otation-sensor.htm
  • http//www.csepainball.com/chris/radarbot.html
Write a Comment
User Comments (0)
About PowerShow.com