Docstoc

Robotics

Document Sample
Robotics Powered By Docstoc
					             Robotics

        Actuators. Motors. Sensors.
                NXT-G logic.
            Lab: Measurements
 Homework: 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 rotational
 1 (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/gearing
Extra 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 move
  wait until button pressed
  brake 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 101
Very, 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
               Homework
Read statics, dynamics and gear sections of
http://www.societyofrobots.com/mechanics_dynam
  ics.shtml
Or
Read about gears, torque, motors in Perdue book
  (in Library)
Or
Find 'spec' data (torque, rpm, etc.) on Lego
  Mindstorms motor
Write summary, including definition of terms,
  to turn in next class!

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:2
posted:7/27/2012
language:
pages:27