Lecture 3/4 Slides - ROBOT - Drexel College of Engineering

Download Report

Transcript Lecture 3/4 Slides - ROBOT - Drexel College of Engineering

ENGINEERING DESIGN LAB II
ENGR-102 WINTER 2015
WEEK 4 LECTURE – ROBOT MODULE
LAB WEEK 4 – GRIPPER DESIGN
DESIGN PROPOSAL NOTES
PROGRAMMING EXAMPLES USING NXC
1
Pramod Abichandani, Ph.D.
Richard Primerano, Ph.D.
WEEK 3 LAB

Design a robot that will move toward the light
source in one corner of the arena
Determine how best to place the light sensor
 Characterize the light sensor’s directionality
 Develop an algorithm that will allow the robot to
detect and move toward the light

2
THE NXT LIGHT INTENSITY SENSOR
The light sensor measures the intensity of light
that strikes the sensing element.
 It can be operated with its integral light source
on or off

With light source turned on, the sensor can be used
to detect the presence of an object by shining light on
the object and measuring light reflected by it.
 With light source turned off, the sensor can be used
to measure ambient light.

3
Reflected light
(light source on)
Ambient light
(light source off)
LIGHT SENSOR CALIBRATION
The light sensor produces a voltage output that
varies from 0V to 5V depending on the amount of
light being received.
 The NXT converts this voltage to a number
ranging from 0 to 100.
 How can we associate a numerical value from the
NXT with a target color (or ambient light level)?

Black target
NXT reads 13
White target
NXT reads 80
4
SOURCES OF ERROR WHEN USING THE
LIGHT SENSOR

If used to detect objects (in reflected light mode),
the sensor can be fooled by ambient light.
Object detected

False detection caused
by bright ambient light
Typically, a sensor would be shrouded to block
ambient light or a modulated light signal would
be used to reject ambient light.
5
INSIDE THE NXT LIGHT SENSOR
Phototransistor
(sensor)
NXT connector
Red LED
LED on/off
control
Sensor
amplifier
6
SHROUDING THE LIGHT SENSOR


The light sensor can not determine the difference
between ambient light and the lighthouse
Shrouding can help block ambient light and
improve sensor performance
Ambient
light
Lighthouse
unshrouded
shrouded
7
MOUNTING AND ALIGNING THE SENSOR


If the sensor is not aligned correctly, it will not ‘see’ the
lighthouse correctly.
Shrouding the sensor makes it more sensitive to
misalignment.
proper alignment
misaligned
misaligned
8
SENSOR FIELD-OF-VIEW

The shape of the shroud affects the sensor’s fieldof-view.
long shroud
short shroud
9
THE DIRECTIVITY
OF
SENSORS
With sensor at a
fixed position, a
light source is
moved in a
circular path
around the
sensor
 At points along
the path, we
stop and record
the light
sensor’s output.

10
MOVING TOWARD THE LIGHT SOURCE

Most techniques will involve these steps
1.
2.
3.

Search for light source
Move in the direction of the light source
If the light source is lost, search again and go to 2
Things to consider



How do you determine if the robot is looking at the
light source or away from it?
How will the robot respond if the light source
becomes blocked (by the other robot)?
How does the directionality of the sensor affect the
robot’s performance?
11
EFFECT OF SENSOR FIELD-OF-VIEW

What are the tradeoffs in sensor field-of-view
selection?
12
REVIEW OF ROBOT CHALLENGE



A derailed train has derailed, scattering trash and
nuclear waste in an area.
A consulting firm has issued a call for companies to
submit designs and prototype robots capable of
cleaning the affected area.
Your group is to submit a design and compete against
other groups in receive the contract.
13
THROUGH WEEK 3 OF LAB…
Touch, ultrasonic, and light sensors use
 Basic movements hardcoded into the robot
 Light seeking behavior programmed


For the competition, you will need to
detect and avoid other robots and the arena fence
 detect contact between robot and trash/nuclear
 detect and move toward light source


You should be thinking of how to integrate the
week 1-3 (and week 4) materials into your
challenge robot
14
WEEK 4
15
TEAMWORK EVALUATIONS
Due this week
 This is meant mainly to help us identify potential
teamwork issues and is not the only factor in
deriving teamwork scores
 If you are having any issues with team
members, please let us know ASAP (don’t wait
for evaluations).

16
DUE NEXT WEEK

Design Proposal

See proposal template
Signoff sheets
 Lab notebook pages from weeks 1-4


See journal guidelines
17
BEFORE ARRIVING TO LAB IN WEEK 4

Begin building your robot
You don’t need a completed robot at this point
 This should act as a chassis for your gripper
 Before you begin, you should have a general idea of
how you intend to construct your competition robot.

Sensor placement
 Gripper placement
 Bumpers

18
ADDITIONAL NON-KIT BUILDING
MATERIALS ALLOWED
 Paper,
cardboard, foam core
 Tape, hot glue
 Rubber bands, string, copper wire
 Ping-pong balls, drinking straws
 Other Lego pieces, excluding additional
sensors or motors

Your robot must fit in a 1’ x 1’ x 1.5’ box, any
orientation, at the start of the competition.
19
WEEK 4 LAB


Design a mechanism that can capture waste
objects in the arena and move them to a desired
location
There are no restrictions on how you do this


Drag, lift, etc…
In subsequent weeks you will need to determine
if the object is trash or nuclear by buzzer, color,
magnetism, or other means.
20
CANISTER CONSTRUCTION
Each canister is made from 2.5” PVC end caps
 Nuclear canisters

Yellow colored
 Magnetic


Trash canisters
Blue colored
 Nonmagnetic

21
KNOW THE COMPETITION RULES

Read the Robot Module Week 7&10 Lab Writeup

Unintentional Delivery (score not affected)
A robot moving in reverse or rotating pushes a canister
into the drop-off area
 A robot moving forward pushes the canister a distance of
less than 1 foot without capturing the canister (up to
referee’s judgment)


Intentional Delivery (score affected)
A robot transporting a canister any distance using its
intended transport mechanism (e.g. a plow bumping the
canister into the drop-off area)
 A robot pushing a canister a distance of 1 foot or more
while moving forward (up to referee’s judgment).

22
ROBOT DESIGN PROPOSAL

Should contain the following
Summary of the design constraints under which you
must design your robot
 Detailed description of your intended robot design

Hardware design: sensor placement, mechanism design
 Algorithm design: behavior of robot


Include any sketches, pictures, calculations
relevant to your design
23
ROBOT DESIGN PROPOSAL

Should be comprehensive in addressing all of the
required “basic behaviors” listed in the robot
competition guidelines
Canister search
 Gripper design
 Canister delivery
 Object avoidance


You must indicate the sensors that will be used
for each behavior
24
BEGIN DOCUMENTING STRATEGY

Before leaving lab this week, you must document and
discuss with your instructor
The design of your robot: sensor placement, gripper design
 The strategy your robot will take, including any
defensive/negative strategies
 The algorithm your robot will follow


Note: your robot must be designed to avoid contact
with the walls of the arena and other robots
The robot should detect and avoid the fence when
approaching head-on
 There will be cases when these obstacles are in the robot’s
blind spot and collisions do occur

25
THINGS TO CONSIDER
Collisions will most likely occur. Design your
robot with this in mind (bumpers maybe?).
 There are only four sensor ports on the robot.
When thinking about your robot design, keep this
in mind



Can one sensor provide multiple functions?
Consider defensive strategies. How can you keep
your opponent from scoring points?

You can’t damage the other robot
26
DUE NEXT WEEK!

Design Proposal

Discuss the basic design of the robot
Physical/mechanical
 Sensing
 Algorithms



Follow the template provided!
First notebook check
You should have a minimum of 15 page at the end of
the project
 Document all experimental data, mechanism
sketches, pseudo code, etc…

27
PROGRAMMING ALTERNATIVES
THE LEGO NXT-G ENVIRONMENT






Uses graphical programming
Blocks are placed and wired together to make program
Requires no prior programming knowledge
Can be limiting for those with prior programming knowledge
This is the ‘official’ programming alternative supported through our
course.
Additional/Advanced NXT-G Tutorials: http://www.stemcentric.com/nxttutorial/
28
PROGRAMMING ALTERNATIVES
NXC WITH BRICX COMMAND CENTER



C-like syntax, more appropriate when writing complex code.
Some prior programming knowledge is recommended
Software is provided on lab computes and is free to install
We offer this as an ‘unofficial’ option this year. No formal support
is offered through the course but we will help when we can.
 Tutorial http://bricxcc.sourceforge.net/nbc/nxcdoc/NXC_tutorial.pdf

29
PROGRAMMING EXAMPLES USING NXC

Basic motor control
30
PROGRAMMING EXAMPLES USING NXC

Using #define to clarify your code
31
PROGRAMMING EXAMPLES USING NXC
Declaring variables
 Random number generation

32
PROGRAMMING EXAMPLES USING NXC

Using conditionals
33
PROGRAMMING EXAMPLES USING NXC

Reading sensor data
34
PROGRAMMING EXAMPLES USING NXC

Using subroutines
35
THANK YOU
36