USC CSCI 445 Mid-Term 1
Polygon of Support
Draw a polygon from the points of a robot that touch the ground. If the center of gravity falls under the polygon, the robot will be statically stable
Brushless Motors
Electronic Commutation High-voltage, high-torque, expensive No firction / wear of brushes
F equation for gear
F = T / r r is radius
What does a Control Architecture Provide?
A set of organized principles for organizing a control system Structure, Constraints
State
A sufficient description of the system. Comes in EXTERNAL and INTERNAL Can be discrete, continuous, observable, hidden, or partially observable
What is a Robot?
A system which exists in the PHYSICAL world and AUTONOMOUSLY SENSES its environment and ACTS in it to achieve some goals
Degree of Freedom
A way in which a motion can be made
Reconstruction (with respect to state)
"Given the sensory reading I'm getting, what must the world be like to make the sensor give me this reading?"
How to overcome limitations of sonar
Add textures to objects (with wavelength similar to sonar) Use clever post-processing Use more advanced sensors (higher frequencies, phased array emitter/detectors)
Forward Kinematics vs. Inverse Kinematics
Forward: Given joint angle, calculate position of end-effector Inverse: given end-effector position, calculate joint angles
Problems with gears
Friction, slipping, backlash
Transmission
Gears, Belts, Chains, Pulleys Uses: Convert Power, Change axis of rotation, Motor not located at joint
Difference between maintenance and achievement goals
Maintenance: Drive 0.5 m/s Achievement: go to the end of the maze
Brushed Motors
Mechanical Commutation Low-voltage, low torque (the outside poles stay the same, but the inside poles change)
Do control architectures constrain expressiveness?
No They do affect and constrain the structure of the robot controller (e.g. behavior representation, granularity, time scale, etc.)
Do sensors provide state?
No, state is achieved after the info is processed. I.e. Have I bumped into something? Well, bump sensor activated --> process --> must have bumped into something
Horizontal Systems
Only the first layer of processing modules have access to sensor data Only the last layer of processing modules have access to actuators
Motor Power
P = w*T
Types of sensors based on energy emission
Passive: Receive energy (vision, hearing,etc.) Active: Emit energy (sonar, ladar, etc.)
How DC Motors Work
Permanent magnets with loops of wire inside, through which a current is applied
Stereo Vision vs. Ladar
Pros of Stereo Vision: dense 3D data range, high sampling rate Cons of Stereo Vision: Requires textured surfaces, incomplete range maps, limited range and depth-of-field
Perception
Provides information about its environment. Is different from sensing in that it is the sense made from sensory data. Consists of: 1. Sensing 2.Signal Processing 3. Object Recognition, etc.
How are DC/Servos motors controlled?
Pulse Width Modulation w = kv * Vavg So, the longer we provide a pulse, the greater Vavg is
What is one way to tell direction with an optosensor shaft encoder?
Quadrature encoding: use two sensors 90 out of phase
Problems with sonar
Rays may graze objects, with increasing angle of incidence we get decreasing strength of reflection, objects may be mirrors
Time Scale Differences between architectures
Reactive: Respond to the real-tie environment (short time scale) Deliberative: Look ahead (long time scale) Hybrid: Combine short and long time scales (three layer architecture) Behavior-Based: Bring the time scales closer by distributing slower computation over concurrent behavior models
Optosensor uses
Reflectance (Shaft encoding, object proximity, feature detection) Break-Beam (object presence, shaft encoding)
In addition to Looking Ahead and Time Scale, what is the third key feature of Architecture?
Representation which is the form in which the control system internally stores information
DC Motors and speed/torque
They are High speed, Low torque
What kinds of stuff can modeled (represented internally)?
Topology, objects, actions, self/ego, intentions (goals), symbols
Differential Steering
Two wheels can be be steered independently Still not holonomic
Different ways to Measure Distance with Sensors
Ultrasound: Give distance directly Infrared: Provides signal intensity Stereovision: Gives distance/depth Perspective Projection: 1 camera
How to ignore ambient light interference with an optosensor
Use Modulation of Source: Sample once with emitter off Sample again with emitter on Subtract to yield ambient value
Default Actions
Used by reactive robots in situations that don't trigger specific exclusive behaviors Since it would suck to hand-design all possible scenarios
Integral Control
Used on accumulated (steady state) error Acts in proportion to the accumulated error o = Ki*Integral(i*dt)
Proportional Control
Used on error Acts in proportion to the error, has an output: o = Kp*i, where K is a constant gain and i is input
Derivative Control
Used on oscillations Acts in proportion to the rate of change of the error o = Kd*di/dt
What is odometry?
Using the velocities of each wheel to estimate the robot position and orientation (see picture on slide 17, lec 6)
Shaft Encoder Placement
Velocity encoders are placed before the gearbox (on the motor shaft) - since higher speed yields a better resolution Position encoders are placed after the gearbox (on the output shaft) - since no backlash means better accuracy
Things that affect gains
Velocity profile of a motor, backlash, friction in the gears, surface, air, etc.
How does Back-EMF work in analog velocity encoders?
We spin the motor, then stop applying the current for a short while and measure the voltage - then infer the speed.
Holonomicity
When the number of controllable DOF matches the total number of DOF If the number of controllable DOF is greater than the total number of DOF, the robot is said to be REDUNDANT
Linear speed equation for gear
v = w*r
Relationship between meshing gears
v1 = v2 w2 = ( r1 / r2 ) * w1 T2 = ( r2 / r1 ) * T1 Gearing down means decreasing speed/ increasing torque
Relationship of Speed to Torque
w = kv*v T = ki*l Higher speed, means lower torque Lower speed, means higher torque
Control Theory is used for what?
Low-level maintenance goals
A robot is Capable of:
1. Acting Autonomously 2. Achieving Goals
Types of Perceptual System Design
1. Action Oriented: seek stimuli associated with particular scenarios 2. Expectation-Based: USe knowledge about the world as constraints on sensor interpretation 3. Focus-of-Attention: Look at what is important 4. Perceptual Classes: Partition the world into useful categories
Sources of Distinction for Architectures
1. Behavior Representation: How is action represented? 2. Granularity of Behavior: What time scale is used for action? 3. Behavior Interaction and Coordination: How are actions/behaviors chosen? 4. Basis for behavior specification: Is a biological model used? 5. Programming Methods: Is software reusable, supported, etc.
Types of Drives
1. Differential - rotation by speed of wheels 2.Synchronous - can steer wheels 3. Tracked - tanks 4. Car style
Two parts of a manipulator
1. Joints 2. Links
Two main types of robotics
1. Mobile 2. Manipulator
Two basic uses of effectors
1. Moving the robot (locomotion) 2. Move another object (manipulation)
4 characteristics of a robot
1. Physical 2. Autonomously 3. Senses 4. Acts
4 types of Control Architecture
1. Reactive (don't think, react) 2. Behavior-Based (think the way you act) 3. Deliberative (Think hard, act later) 4. Hybrid (think and act independently, in parallel)
Limitations of Odometry?
1. Requires intialization 2. Subject to curve errors 3. Assumes: Constant wheel diameter/separation, flat surface, no slipping
Examples of Bio-Robots
1. Robotically controlled Rat 2. Cockroach guidance system
A robot Consists of:
1. Sensors 2. Effectors (Actuators) 3. (Communication) 4. Controller
Two types of stability
1. Static (achieved through mechanical design) 2. Dynamic (achieved through control)
How much of the human cortex is devoted to vision?
30%
DOF Car examle
A car has 3 DOF: x,y, and theta Only 2 are controllable (x and theta) So there are more motions (parallel parking) than there are controls
State Space
All possible states the system can be in. An important point is that sensors do not provide state
Sensor Space
All possible values of sensory readings
Vertical Systems
All processing modules have access to sensor data Processing modules have access to actuators
Open-Loop (feed forward) Control
Assumes that given some applied voltage, the robot will always go a certain proportional speed (i.e. doesn't account for hills and stuff)
Uses of Open-Loop (feed forward) Control
Ballistic Movements: Pouncing, reflex reaching and withdrawal, etc.
Reactive Control
Based on tight (feedback) loops connecting a robots sensors with its effectors Purely reactive systems do not use any representations or looking ahead
Why do we use 6 legged robots?
Because at any given time, they will have 3 legs on the ground, and thus always a polygon of stability. With 4 legs, we could only ever move one leg at a time and still have the polygon
Why do we need path planning?
Because with just closed-loop control (jacobian-based), we get things like: Joint limits, obstacles, self-collision, singularities
Limitations of Simple Encoders
Cannot determine direction since the binary waveform is identical for both directions of rotation
Sensor Fusion
Combining different sensors to great effect
What is a Turing Universal Language
Contains: sequencing, conditional branching, iteration It can compute the entire class of computable functions
Arbitration
Deciding between two mutually exclusive, but still triggered, conditions for a reactive robot We need a hierarchy or fusion of rules or learning of rules at run time
How much each of the architectures look ahead
Deliberative: Only look ahead - plan then execute Reactive: No look ahead - only react Hybrid: Look ahead with the brain - react quickly with the wheels Behavior-Based: Look ahead only while acting
Closed-Loop (feedback) control
Getting a system to achieve and maintain a desired state by continuously feeding back the current state and comparing it to the desired state, then adjusting the current state to minimize the difference
Efficiencies of DC Motors
Good: 90% Cheap: 50%
State vs. Representation
In principle, any internal state is a form of representation - what matters to architecture is the form and function of the representation Conventionally, Representation refers to manipulable models of the external world
Where is path planning usually performed?
In the configuration (joint) space. One example of path planning is the Rapidly-Exploring Random Trees
Some reasons for perception
Interaction, Quality Control, Surveilance
Is an optosensor an emitter or detector?
It contains both actually.
Sonar is based on time-of-flight. Why use high frequency sound?
It's less noisy
Why is an optosensor usually in IR?
It's less noisy
A robot acts through
Its ACTUATORS (e.g. motors) which drive EFFECTORS (e.g. wheels)
Ladar vs.. Sonar
Lazers have a better angular resolution, higher speed means higher sampling rate, shorter wavelength means fewer specular reflections But, less coverage, they're expensive, and they're heavier
What is one alternative to path planning for humanoid robots?
Learning "motion primitives" from human examples. E.g. the tennis playing robot
Steps in Visual Processing
Low-Level Processing: Smoothing, edge detection High-Level Processing: Scene Reconstruction (what world produced this image), Object recognition
A free body in space has how many degrees of freedom
SIX 3 are translational (x,y,z) 3 are rotational (roll, pitch, yaw)
What can rotary shaft encoders measure?
Shaft velocity, shaft position, shaft rotation count
Advantages of DC Motor
Simple, Cheap, Various Sizes, Easy to Interface
Effector
Something that actually does something in the environment A claw, etc.
Sonar bounces off of stuff. Explain Specularity vs. Diffusion
Specularity: Angle of incidence = angle of reflection Diffusion: Energy is absorbed and re-emitted at a broad range of angles
Internal State
State of the robot Sensed using the robot's internal state. Can be Stored/Remembered Velocity, mood, etc.
External State
State of the world Sensed using the robot's sensors
Criteria for Selection of Architectures
Support for Parallelism (of processes/behaviors) Hardware Targetability (how well can it be mapped to robot sensors, how well can the computation be mapped onto real processing) Run-Time Flexibility: Is run-time adjustment and reconfiguration (learning) possible and facilitated? Modularity: How is encapsulation of control handled, etc. Niche Targetability: how well can the architecture allow the robot to deal with its environment Robustness: How well does the architecture perform if individual components fail Ease of use Performance
Guiding Principles of Subsumptive Architecture
Systems are built from the bottom up If layer 1 fails, layer 0 is unaffected, but layer 0 can be affected by layer 1 Lowest layers handle most basic tasks Each component provides and does not disrupt a tight coupling between sensing and action No internal models
Actuator
The actual mechanism that enables the effector the execute an action Eg. Electric motors, hydraulic/pneumatic cylinders, etc.
Sense-Plan-Act
The original approach to control - inherently sequential (horizontal) - produces deliberative architectures Subsumptive Architectures (vertical) are the alternative
Continuous vs. Discrete Stuff
The real world is continuous, while the digital world is discrete. Mapping a continuous function to a discrete one is called sampling Mapping a continuous variable to a discrete one is called quantization
Zero/Non-zero error
The simplest type of error: simply measures whether the current state = desired state or not
Are there legs in nature?
Yes- sperm. Sperm spin their tails with little wheels.