ENGR 100 - Robotics Project

37
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 Outline. I. Background Information II. Design Project III. Engineering (Robot Basics) - PowerPoint PPT Presentation

Transcript of ENGR 100 - Robotics Project

Page 1: ENGR 100 - Robotics Project

ENGR 100 - Robotics Project

Page 2: ENGR 100 - Robotics Project

Presentation Outline

I. Background InformationII. Design ProjectIII. Engineering (Robot Basics)

IV. Programming the RCX

Page 3: ENGR 100 - Robotics Project

Presentation Outline

I. Background InformationII. Design ProjectIII. Engineering (Robot Basics)

IV. Programming the RCX

Page 4: ENGR 100 - Robotics Project

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.

Page 5: ENGR 100 - Robotics Project

Robotics made easy?

Design Problem - Design and build a robot

to vacuum your house.

What are some of the challenges?

Page 6: ENGR 100 - Robotics Project

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?

Page 7: ENGR 100 - Robotics Project

Presentation Outline

I. Background InformationII. Design ProjectIII. Engineering (Robot Basics)

IV. Programming the RCX

Page 8: ENGR 100 - Robotics Project

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.

Page 9: ENGR 100 - Robotics Project

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.

Page 10: ENGR 100 - Robotics Project

Obstacle Course Layout

4 ft

4 ft

1 ft 1ft

2 ft

68”

8 ft

8 1/3 ft

Defender Free Zone

Page 11: ENGR 100 - Robotics Project

Programming Tasks

The RCX can store 3 different programs:

Program 1 - Robotic Wheelchair (do first!)Program 2 - CarProgram 3 - Defender (be creative!)

Page 12: ENGR 100 - Robotics Project

Scoring

ExT

T

Pts

PtsScore )%(25)%(75 min

max

1ft

1ft10 pts

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)!

Page 13: ENGR 100 - Robotics Project

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.

Page 14: ENGR 100 - Robotics Project

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.

Page 15: ENGR 100 - Robotics Project

Robotics Project Schedule

Due Mon. Dec. 17: Robot Report (25%)& Reflection Paper (10%)

Nov. 19Gears/ Programming

Due: Programming Assignment (HW)  

Nov. 21 Build a Simple Pathfinder

Due: Web Site Research (HW)

Nov. 23HOLIDAY!

Nov. 26  

Program Simple Pathfinder

 

Nov. 28Program Pathfinder

Nov. 30RCX Code/NQC

Due: Simple Pathfinder (HW)

Dec. 3  

Robot Construction 

Dec. 5Robot Construction

 

Dec. 7Robot Testing

 Due: Draft Report

Dec. 10Robot Testing

 

Dec. 12Robot CompetitionDue: Final Robot

 

Page 16: ENGR 100 - Robotics Project

Homework Assignments

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.

Simple Pathfinder Tasks

Page 17: ENGR 100 - Robotics Project

Presentation Outline

I. Background InformationII. Design ProjectIII. Engineering (Robot Basics)

IV. Programming the RCX

Page 18: ENGR 100 - Robotics Project

Robot Basics - Sensors & Motors

Input/Output PortsTouch sensorsLight sensorsMotorsRCX signals

Tips -Use view mode to check light sensor.

Battery power affects speed of motors. Batteries run out fast! Don’t block

infrared sensor.

Page 19: ENGR 100 - Robotics Project

Robot Basics - Gears

SpeedTorque (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).

Page 20: ENGR 100 - Robotics Project

Example of 4 wheel drive

4 wheel drive

Page 21: ENGR 100 - Robotics Project

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

Page 22: ENGR 100 - Robotics Project

SequentialSequential statements are defined

as a list of commands that are executed in order.

For example:Set Forward DirectionGo forward for 3 sStop

Page 23: ENGR 100 - Robotics Project

RepetitionRepetition statements

allow for a series of commands to be repeated for a set number times.

For example:Repeat 3 times

Set forward directionMove forward for 3 sStop

End Repeat

Page 24: ENGR 100 - Robotics Project

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

Page 25: ENGR 100 - Robotics Project

Example of Conditional StatementsFor example -

If the light is <50% Set Direction ForwardMove Forward for 3 sStop

Else If light is >= 50%Stop

End

Page 26: ENGR 100 - Robotics Project

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.

Page 27: ENGR 100 - Robotics Project

Presentation Outline

I. Background InformationII. Design ProjectIII. Engineering (Programming and

Gears)

IV. Programming the RCX

Page 28: ENGR 100 - Robotics Project

How To: Write Programs

• Click on “Program RCX.”

• Stack puzzle pieces.

• Move unused pieces to the trash.

• Download program to the RCX.

Page 29: ENGR 100 - Robotics Project

RCX Programming

Sensor Watchers: Test conditions (e.g. light, touch, count) and determine actions based on conditions.

Commands: Tell robot what to do (e.g. stop, go, turn, etc.).

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!

Page 30: ENGR 100 - Robotics Project

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.

Page 31: ENGR 100 - Robotics Project

RCX Program Code

• Commands

• Sensor Watchers

• Stack Controllers

• “My Commands”

See “Info on RCX Code” link on web site.

NEW

Page 32: ENGR 100 - Robotics Project

How To: Download Firmware

click on “Getting Started” and then “Set Up Options”

Page 33: ENGR 100 - Robotics Project

How To: Download Firmware

Page 34: ENGR 100 - Robotics Project

How To: Download Programs

Select button to download

Select program number (1-5)

Page 35: ENGR 100 - Robotics Project

How To: Save Programs

Page 36: ENGR 100 - Robotics Project

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.

Page 37: ENGR 100 - Robotics Project

NQC (Not Quite C) Programming