fundamentals of robot technology. integral parts of a robot robot anatomy drive system control...
TRANSCRIPT
Fundamentals of Robot Technology
Integral Parts of a Robot
• Robot Anatomy
• Drive System
• Control System
• Sensors
• Actuators / End Effectors
Degrees of Freedom (DoF)
• Joint : relative motion between two parts of the robot body.
• Joint provides the robot with degree-of-freedom of motion.
• In most cases, 1 DoF is associated with a joint.
• Robots are often classified according to total number of DoF they posses.
Links are rigid components of the robot manipulator
Robot Anatomy: Joints & Links
Linear joint, L
Orthogonal Joint, O
Rotational Joint, R
Twisting Joint, T
Revolving Joint, V
basic joints
Spherical Joint3 DOF ( Variables - X, , Z)
Revolute Joint1 DOF ( Variable - )
Prismatic Joint1 DOF (linear) (Variables - X)
Example
This robot arm has SIX revolute jointsA revolute joint has ONE degree of freedom ( 1 DOF) that is defined by its angle
1
23
4
There are two more joints on the end effector (the gripper)
3 DoF wrist assembly
Degrees of Freedom
6 Basic Robot Configurations
CylindricalCartesian
Jointed-Arm Mobile
Polar
SCARA
Kinematics = the motion of bodies
We are interested in two kinematics topics
Forward Kinematics (angles to position)What you are given: The length of each link
The angle of each joint
What you can find: The position of any point (i.e. it’s (x, y, z) coordinates)
Inverse Kinematics (position to angles)What you are given: The length of each link
The position of some point on the robot
What you can find: The angles of each joint needed to obtain that position
Point Representation: RR Robot
Position of the end of the arm
Pj = (1, 2) joint space
Pw = (x, y) world space
World space is useful when the robot must communicate with other devices.
Forward Transformation: Going from joint space to world space
We can determine the position of the end of the arm in world spaceBy defining a vector for Link 1 and another for Link 2.
r1 = [ L1 cos1, L1 sin1] r2 = [ L2 cos(1 + 2), L2 sin(1 + 2) ]
Adding these two vectors yields the coordinates x and y of the point Pw
x = L1 cos1 + L2 cos(1 + 2)
y = L1 sin1 + L2 sin(1 + 2)
Reverse Transformation: Going from world space to joint space
Two possible configurations to achieve the position
Using cos(A+B) = cosA cosB – sinA sinBsin(A+B) = sinA cosB + sinB cosA
Rewrite the coordinatesx = L1 cos1 + L2 cos1 cos2 – L2 sin1 sin2
y = L1 sin1 + L2 sin1 cos2 + L2 cos1 sin2
Square both sides and add the two
cos2 = (x2 + y2 - L12- L2
2 ) / 2 L1 L2
Also tan = L2 sin2 / ( L2 cos2+ L1)
tan = y / x
Using tan(A – B) = (tanA – tanB) / ( 1 + tanA tanB)
tan1 = [y(L1+ L2 cos2) -x L2 sin2] / [x(L1+ L2 cos2) - yL2 sin2]
Drive Systems/Actuators
•HydraulicLarger RobotsGreater speed & strengthLarger floor space requiredRotary vane actuators for rotary motionHydraulic pistons for linear motion
•ElectricAccuracy & repeatability is betterSmaller floor spaceStepper motors or servo motorsDrive train/gear systems for rotationalPulleys or similar systems for linear motion.
•PneumaticSmaller robots with fewer DoFPick-and-place with fast cyclesPneumatic pistons
Seesaw Physics
T = TorqueF = Forcer = radius
T = rF sinT = rF
Meshing Gears
• LEGO Gears
8T
16T
24T
40T
24TCrown
1T Worm Bevel
Worm Gears• Pull one tooth per revolution
1
2
3
4• Result is a 24:1 gearbox
Motors• 9V Gear Motor
• ~ 150 mA
• 300 RPM (no load)
Motors• 9V Micro Motor
• 20-30 RPM
Mounting Motors
Motor Normal speed (RPM)
Torque (Lego units)
Torque (metric units)
at a speed of
3240
880 bricks X bump
1.760 Kg X cm
40 RPM
370 1920 bricks X bump
3.840 Kg X cm
15 RPM
36 64 bricks X bump
0.128 Kg X cm
36 RPM
Lego Motors
Stepper motors:
A stepper motor's shaft has permanent magnets attached to it, together called the rotor. Around the body of the motor is a series of coils that create a magnetic field that interacts with the permanent magnets. When these coils are turned on and off the magnetic field causes the rotor to move. As the coils are turned on and off in a certain sequence the motor will rotate forward or reverse. This is called the phase pattern and there are several types that will cause the motor to turn. Common types are full-double phase, full-single phase, and half step. To make a stepper motor rotate, you must constantly turn on and off the coils. If you simply energize one coil the motor will just jump to that position and stay there resisting change. This energized coil pulls full current even though the motor is not turning. This is the main way steppers generate heat, when at standstill. This ability to stay put at one position rigidly is often an advantage of stepper motors. The torque at standstill is called the holding torque.
Because steppers can be controlled by turning on and off coils, they are easy to control using digital computers. The computer simply energizes the coils in a certain pattern and the motor will move accordingly. At any given time the computer will know the position of the motor since the number of steps given can be stored. This is true only if some outside force of greater strength than the motor has not interfered with the motion. An optical encoder could be attached to the motor to verify its position but this is not necessary. A stepper motor can be run in "open-loop" mode (without feedback of an encoder or other device). Most stepper motor control systems will have a home switch associated with each motor that will allow the software to determine the starting or reference "home" position.
http://www.cs.uiowa.edu/~jones/step/types.html
Servo motors:
Take a normal DC motor that that has one coil (2 wires). If you attach a battery to those wires the motor will spin continuously Reversing the polarity will reverse the direction. Attach that motor to the wheel of a robot and watch the robot move, note the speed. Now add a heavier payload to the robot, what happens? The robot will slow down due to the increased load. The computer inside of the robot would not know this happened unless there was an encoder on the motor keeping track of its position. So, in a DC servo, the speed and current drawn are affected by the load. For applications that the exact position of the motor must be known, a feedback device like an encoder MUST be used. The control circuitry to perform good servo of a DC motor is MUCH more complex than the circuitry that controls a stepper motor.
A Servo is a small device that has an output shaft. This shaft can be positioned to specific angular positions by sending the servo a coded signal. As long as the coded signal exists on the input line, the servo will maintain the angular position of the shaft. As the coded signal changes, the angular position of the shaft changes. In practice, servos are widely used in radio controlled devices and robots.
Servos are extremely useful in robotics. The motors are small, as you can see by the picture below, have built in control circuitry, and are extremely powerful for their size. A standard servo such as the Futaba S-148 has 42 oz/inches of torque, which is pretty strong for its size. It also draws power proportional to the mechanical load. A lightly loaded servo, therefore, doesn't consume much energy. The guts of a servo motor are shown in the picture below. You can see the control circuitry, the motor, a set of gears, and the case. You can also see the 3 wires that connect to the outside world. One is for power (+5volts), ground, and the white wire is the control wire.
So, how does a servo work?
The servo motor has some control circuits and a potentiometer (a variable resistor, aka pot) that is connected to the output shaft. This pot allows the control circuitry to monitor the current angle of the servo motor. If the shaft is at the correct angle, then the motor shuts off. If the circuit finds that the angle is not correct, it will turn the motor to the correct direction until the angle is correct. The output shaft of the servo is capable of traveling somewhere around 180 degrees. A normal servo is used to control an angular motion of between 0 and 180 degrees. A normal servo is mechanically not capable of turning any farther due to a mechanical stop built on to the main output gear.
The amount of power applied to the motor is proportional to the distance it needs to travel. So, if the shaft needs to turn a large distance, the motor will run at full speed. If it needs to turn only a small amount, the motor will run at a slower speed (proportional control)
How do you communicate the angle at which the servo should turn?
The control wire is used to communicate the angle. The angle is determined by the duration of a pulse that is applied to the control wire. This is called Pulse Coded Modulation. The servo expects to see a pulse every 20 milliseconds (.02 seconds). The length of the pulse will determine how far the motor turns. A 1.5 millisecond pulse, for example, will make the motor turn to the 90 degree position (often called the neutral position). If the pulse is shorter than 1.5 ms, then the motor will turn the shaft to closer to 0 degrees. If the pulse is longer than 1.5ms, the shaft turns closer to 180 degrees.
Sensors: Anything that detects the state of the environment.
•Light sensing •Heat sensing •Touch sensing•Rotational•Sonar•Radar•Infra-red
There are four main factors to consider in choosing a sensor.
1) Cost: sensors can be expensive, especially in bulk.
2) Environment: there are many sensors that work well and predictably inside, but that choke and die outdoors.
3) Range: Most sensors work best over a certain range of distances. If something comes too close, they bottom out, and if something is too far, they cannot detect it. Choose a sensor that will detect obstacles in the range you need.
4) Field of View: depending upon what you are doing, you may want sensors that have a wider cone of detection. A wider “field of view” will cause more objects to be detected per sensor, but it also will give less information about where exactly an object is when one is detected.
Solar Cell
Digital Infrared Ranging
Compass
Touch Switch
Pressure Switch
Limit Switch
Magnetic Reed Switch
Magnetic Sensor
Miniature Polaroid Sensor
Polaroid Sensor Board
Piezo Ultrasonic Transducers
Pyroelectric Detector
Thyristor
Gas Sensor
Gieger-MullerRadiation Sensor
Piezo Bend Sensor
Resistive Bend Sensors
Mechanical Tilt Sensors
Pendulum Resistive Tilt Sensors
CDS Cell Resistive Light Sensor
Hall EffectMagnetic Field
Sensors
Compass
IRDA Transceiver
IR Amplifier Sensor
IR ModulatorReceiverLite-On IR
Remote Receiver
Radio ShackRemote Receiver
IR Sensor w/lens
GyroAccelerometer
IR Reflection Sensor
IR Pin Diode
UV Detector
Metal Detector
Bend Sensors• Resistance = 10k to 35k• Force to produce 90deg = 5 grams• www.jameco.com = 10$
Potentiometers• Fixed Rotation Sensors• Easy to find, easy to mount
Light Sensor• Good for detecting direction/presence of light • Non-linear resistance• Slow response
Resistive Sensors
Resistive Bend Sensor
Cadmium Sulfide Cell
Potentiometer
Sensor
• Measure bend of a joint
• Wall Following/Collision Detection
• Weight Sensor
Sensors
Sensor
Applications
Lego tips: Structure
• Common pitfall when trying to increase mechanical robustness:
Structure
• The right way:
Structure
• The right way:
Connector pegs
• Black pegs are tight-fitting for locking bricks together.
• Grey pegs turn smoothly in bricks for making a pivot
Car Turn
Differential Gear
Differential Drive
Where D represents the arc length of the center of the robotfrom start to finish of the movement.