Robotics Actuators. Motors. Sensors. NXT-G logic. Lab: Measurements Homework: Task moodle...

Post on 27-Dec-2015

226 views 3 download

Transcript of Robotics Actuators. Motors. Sensors. NXT-G logic. Lab: Measurements Homework: Task moodle...

Robotics

Actuators. Motors. Sensors. NXT-G logic.

Lab: MeasurementsHomework: Task moodle assignment! Mechanics readings. Prepare summary.

Postings. Next class: Closer look at programming and build & program robot with bumper (use of

touch sensor)

Recap

• Build: attention to detail.• Review construction: parts used for attaching,

stability.• Refine & experiment

– Challenge to do the exact job– My process: took 4-5 iterations. Added sound block.

Changed from rotations to degrees. • 360 degrees in a rotation (of the motor), not the wheel.

– NOTE: more power means faster, not more distance if you are specifying rotations or degrees

Inserted to be sure when turning move over

9 rotations too many

Gentle curve

Steering

• Steering can accept an input value: -100 to 100.

• When we get to variables, can set a variable with a number and use data wires to set exact steering

Joints

• Robots have joints (think of joints of the body) that connect links

• A robot joint [generally] provides 1 degree of freedom (d.o.f.)– [Note: a Carnegie Mellon robot travels around

on a ball: work of Ralph Hollis. More later or report in posting]

• Rotational versus linear motions

IBM Box frame robot: 3 linear motors

3 rotational1 (jaw) linear gripper

Preview

• Kinematics– Each joint is set to specific position, where is

endpoint?• move my shoulder, move my elbow, move my wrist, raise my

finger, where is tip of finger?

• Inverse Kinematics– What to set each joint in order to have the endpoint at

a given point (orientation)• how much do I move each joint in order to have the tip of my

finger touch my nose?

Actuators

• One type of actuator is a motor: motors make the robot [a joint of the robot] move

• Many types of motors– Stepper motor allows for precise positioning– DC or AC Servo motor allows for feedback … for

precise positioning• “is it there yet?”

– Hydraulic or pneumatic pistons

• May or may not involve gears/gearingExtra credit: report on advantages/disadvantages

of specific type of motor, other types of actuator.

Sensors

• Machine (electro-mechanical) device that detects something about external world– Generates a signal back to the program

• Refer to – Programmable, sensory robots as robots that

• can be programmed• Programming can involve/use sensory input

Sensors

• Contact, touch, switch

• Proximity

• Light– Light level– Vision systems: BIG topic

• Sound– Sound signal (range)– Speech systems: BIG topic

Sensors (& joints)

• Locality of sensing

• Where is ‘the robot’ when the ultrasonic sensor (proximity) says <20 cm??

• In positioning and movement, need to provide clearance for ALL the robot + any payload.

Calibration

• Process to set (define) relationship between strength (size) of thing being measured and the measurement scale

• REQUIRED for most sensors

• May be required EACH TIME sensor is used (in specific environment)

• This will be the case for the light sensor

Strain gauge• Category of touch, but…• Detects some amount of force (strain, push

back)– Physical force deforms material that produces change

in resistance (electrical quantity). This electrical quantity is what is measured.

• Common in industrial robotics• The Lego touch sensor is NOT a strain gauge. It

is off or on– States are off, pressed, [just] released– Bump = pressed and released

• Good tutorial on www.societyofrobots.com

Logic

• Event driven programming in high[er] level language such as Flash ActionScript: specify event and handler and the system does everything else.– mixupbut.addEventListener(MouseEvent.CLICK, mixup);– var mytimer:Timer: new Timer(1000)

mytimer.addEventListener(TimerEvent.TIMER, moveball);

• In other places, need to specify testing explicitly. In NXT-G, need to put in wait blocks and other blocks, perhaps use switch blocks and loop blocks.

• NOTE: Flash & other languages generate the code that does the checking and re-checking…

NXT-G wait until

• Next class will do move until bump sensor. Here Wait until certain NXT button pressed

• unlimited motors movewait until button pressedbrake motors block

Preview: NXT-G logic

• Logic block: takes 1 or 2 inputs and performs– AND, OR, XOR, NOT

• What do you do with result? – Input to looping block– Input to switch block– Input to …

NXT-G

• Arithmetic blocks

• Comparison blocks

• Variables

• Input from sensors AND motors and calculations and (Bluetooth) messages

NXT-G Looping

• Loop block: block can contain other blocks

• Looping forever, sensor, count, logic, time– System inserts the appropriate block

Preview: NXT-G switch

• Switch block can have sensor or value to control

• Think of this as IF/ELSE

Preview: NXT-G

• Parallel threads

• Set up two (or more) sequences of blocks.

• NXT-G generates coding.

• This may produce essentially the same as periodic checks along one thread.

General comment

• Program may set up to check for sequence/set of events over and over– Duty cycle– Event loop

• Can give the program too much to do.

• Think of sentry doing guard duty, adding checkpoints.

Mechanics 101Very, very loose definitions

Torque used for defining the power of the motor. Torque = force * distance. Motor can apply that force at that distance.

Velocity is speed in a direction—a vector as opposed to a scalar quantity. Acceleration refers to changes in velocity. Robots need acceleration to start and to overcome gravity and friction. For wheels, velocity = circumference * rpm. Revolutions Per Minute depend on torque from motor AND friction from wheels against specific surface

Gears/gearing is to put the torque where you want it.

Work load of robot is the robot itself plus the payload (what it needs to carry)

Considerations for robots

• Want motor that is powerful enough to do the job – Do the job most of the time

• Not too powerful, because powerful generally means expensive and heavy

• Robot may need to carry itself + tooling + parts– Payload refers that to that which pays for the

job.

Lab: challenges

• Measurements: measure & record distance traveled and time taken– 180 degrees, 1 rotation, 5 rotations at power levels

25, 50, 75. – 1 second, 5 seconds [time taken should be close to

inputs]

Prepare neat tables to show.

• Navigate field with obstacles (fixed = static)– Go around obstacle (chair or stool). You decide route.

Time it. Prepare report to show.

Suggestion

• You can use the wait until block with the NXT buttons. This gives you time to make the measurements

HomeworkRead statics, dynamics and gear sections ofhttp://www.societyofrobots.com/mechanics_dynamics.shtmlOrRead about gears, torque, motors in Perdue book

(in Library)OrFind 'spec' data (torque, rpm, etc.) on Lego

Mindstorms motorWrite summary, including definition of terms,

to turn in next class!