This site is 100% ad supported. Please add an exception to adblock for this site.

Mobile Robotics Test 1


undefined, object
copy deck
Powering a Robot
A robot is only as good as its powering system. It can't stay alive without power.
Robot Sensors: Laser rangefinder.
Projects light, and measures round trip time for that light to return. It is much faster than sonar, and you don't have to worry about the doppler effect.
Powering a Robot: Batteries
Types: Lead acid or Lithium Ion Disadvantages: Heavy, dangerous if compromised. Limited lifetime Ex: 4 Lead-Acid cells equal about 48 amp/hrs, and lasts between 4 and 6 hours. Computation takes power!
Powering a Robot: Charging Autonomously
Difficult to plug oneself in. There are special chargers available (roomba).
Powering a Robot: Powered Environment
Like bumper cars. A negative charged floor and a positively charged ceiling, and the robot has contact on both to draw power.
Powering a Robot: Internal Combustion Engine
Advantages: Lots of power, well developed, mass marketed, and cheap. Disadvantages: Not very efficient, noisy dirty and not good indoors.
Powering a Robot: Solar Cells
Disadvantages: Only work in daylight (or artificial light). Maximum efficiency of 40%. The best cells can therefore provide 400 W/m^2 = running a desktop computer. Conditions are never optimal. Advantages: Clean, and can be used in combination with other power sources.
Powering a Robot: Radio Isotop Thermo-Electric Generator (RTG)
Explanation: Often used in spacecraft, this power source uses a radioactive isotope, which decays and emits alpha particles. These alpha particles heat up the sides of a box, and a thermocouple turns the heat into electricity. Advantages: Lasts a long time. 1g of Plutonium will provide 1/2 W. Its halflife is 87.7 years.
Robot Sensors: Sensors as random variables
Sensor measurements are noisy, each measurement will be different. You can treat sensor readings as samples from a random variable, defined by a probability density function. Normal distributions are often used. By the Central Limit Theorem, since any reading has a normal distribution, the distribution of all readings is also normal
Robot Sensors: Laser Range Finder random Variable
Time till a beam of light comes back can be modeled by a normal distribution with parameters of the time-reading (the sample) and a variance sigma = N(t_hat, sigma) By linearity, d can be modeled by a 1/2*c*N(t_hat, sigma). Thus, distance can also be modeled by a normal distribution with parameters d_hat (the sample) and sigma_sub_d (for the variance of the distance distribution) = N(d_hat, sigma_sub_d)
Locomotion Systems: Definition
The most basic way of affecting the world, is moving around in it. Thus, you need some sort of system to move oneself.
Locomotion Systems: Examples
Wheels, legs, propellers, fins, rockets, oscillatory movement.
Locomotion Systems: Models
Forward kinematics: If I am in pose p, and I take action a where do I end up? p' = F_f(p,a) Inverse Kinematics: If I am in pose p and I want to be at p' what do I do? a = F_i(p,p').
Locomotion Systems: Wheels
Very popular, robots sit on ground, and most ground is flat. (Wheels should be 3x the size of any obstacles) Pose p=(x,y,yaw) Models are idealized: No slippage, axle flexing, wheel compression or dynamics are taken into account.
Locomotion Systems, Legs: Common Configurations
Biped, quadriped, hexiped. (2n legs n>1) Stability is the major concern when choosing numbers of legs.
Locomotion Systems, Legs: Static stability
Balanced without active compensation: center of mass falls within support polygon. Advantages: Power efficient, and generally easier to control. Disadvantages: Typically slower than dynamic stability.
Locomotion Systems, Legs: Statically stable gaits
Alternating tripod gait: (6 legs). Ripple Gait (keep 5 stationary, move 1 forward a time.)
Locomotion Systems, Legs: Dynamic Stability
Actively controlling balance: need to appy control quickly and stable only when moving. Advantages: Generally faster than statically stable. Can use forward momentum of falling as extra speed.
Locomotion Systems: Legs vs. Wheels
Legs: Work on more terrain. Foot placement decisions are difficult (need good sensors like big dog), consume more power and are more mechanically complex (so they can fail more often). Wheels: Statically stable (easier and cheaper).
Software Architecture for Robots: Major 3 Types
1. Sense-think-act-architecture 2. Subsumption 3. 3-layer architecture
Software Architecture for Robots: Sense-think-act steps
1. Look at the world with sensors 2/ Use sensor information to build model 3. Reason over model, with certain goals 4. Generate sequence of actions 5. Perform actions 6. Go to 1 unless goal is achieved
Software Architecture for Robots: Sense Think Act Assumptions
Closed world assumption - assumes model contains all you need to achieve a goal, and that the world is not infinitely large. Assumes that all actions are atomic, that actions are always successful, and complete in finite time.
Software Architecture for Robots: Sense-think-act advantages.
1. Can reason and plan in logic - desired goal is specified as a model state 2. Robot is multi-purpose 3. Plans can be complex but the specification sin logic don't have to be.
Software Architecture for Robots: Sense think act disadvantages
1. Need an accurate, complete world model, can be tricky and could take a lot of time to compute. 2. Closed world assumption - finding a model that works can be tricky, and you certainly cannot model the entire world. 3. Must cycle faster than the world changes (about 10x faster) 4. Building and maintaining a world model is hard, especially in first order logic. 5. AI Pipeline : Since the parts of sense think act are so large, and there are even multiple subfields for each one, each department thinks about their specific problem in a different way. When it's time to unite these parts, to create a robot, there are problems. The individual parts are "sciency" but the glue between isn't. NSF : The biggest problem today with robotics is integration, and we don't fund integration.
Software Architecture for Robots: Subsumption architecture history.
Developed in the mid-80's at MIT, it is also known as reactive control, reactive robotics, or behavior-based robotics.
Software Architecture for Robots: Subsumption architecture history
Based on task achieving behaviors: simple specialized modules running in parallel - a closed loop and built incrementally. It distributes responsibility - if a task fails, other tasks will still go on. It is biologically inspired, but not really an accurate biological copy.
Software Architecture for Robots: Subsupmption architecture's influence on the robotics community.
Has made robotics more accessible. Instead of large-scale projects distributed across several fields, one department can put together a simple robot in a matter of weeks.
Software Architecture for Robots: Subsumption architecture - draw the diagram
--see notes--
Software Architecture for Robots: Sense think act architecture - draw the diagram
--see notes--
Software Architecture for Robots: Subsumption architecture FSM
Several registers, a system clock and a finite state machine located on separate boards. The FSM has less than 10 states.
Software Architecture for Robots: Brook's Dogma
1. The World is its own best model - But the world is complex and hard to measure, and you can't see the entire world. 2. Build only the models you need, layer by layer, but keep them simple. - No models are optimal. Aren't registers and a FSM a model of the world? 3. No calibration - there is no objective reality. No complex computers just FSM's.
Software Architecture for Robots: Brooks dogma continued.
No global resources Build whole systems: gluing together complex systems is hard. Instead, build it up from the ground together. Appeared in Fast, Cheap & Out of control
Software Architecture for Robots: 3 Layer Architecture, reasons for its creation
3 Layer architecture combines the best of the sense-think-act and the subsumption architectures. Subsumption is difficult to build into large comple systems - cognition is virtually impossible (even though Brooks says 97% of human intelligence is subsumption) Sense think act creates too many big problems that are hard to put together. 3 Layer architecture uses bits from both.
Software Architecture for Robots: 3 Layer Architecture Arrangement
3 Layers: Low level - Reflex, closed loop actions that react to the world like subsumption. Faster speed, low abstraction, and less computation needed. Middle-Level - Tactical planning/ glue (intermediate speed, abstraction and amount of computation) High-level - Strategic planning (slow speed, high level of abstraction, and requires much more computation) Modeled after animal nervous system.
Software Architecture for Robots: 3 Layer Architecture (ROS).
Developed by Willow Garage, this noble attempt at creating an open-source foundation and standard for robotics programming uses the 3 layer architecture. Low level drivers operate sensors and actuators. These can report messages about their specific purpose (i.e. a wheel driver could report the wheel speed) These messages are reported to the core. Other intermediate level modules are programmed by the robotics community (i.e. a face detector) that uses messages from the drivers. Each module is encapusulated and operates on a message passing protocol, which is the bulk of the ROS development. This means different modules can be written in different languages. Applications that are written create a graph of all the packages needed to run the high-level - and assemble them for usage. ROS provides the plumbing, and automatic module compilation.
Sensors: Types of them
Internal (Proprioceptive) vs. External (Extereoceptive) Passive vs Active
Sensors: Odometry/Shaft encoders
Example of an internal sensor. Count wheel rotations using a light shone through a hole in the wheel. With math, this can provide wheel speed, and eventually position speed and acceleration. Problems: Susceptible to wheel slip, or deflated, deformed wheels. Wheels can also be spinning too fast to detect, in which case the sensor will interpret the wheels as stopped. Also don't know direction from the sensors.
Sensors: Battery sensors
Example of an internal sensor. Sensors can measure voltage, current, etc. about the battery state.
Sensors: Inertial Measurement Units (IMU)
Example of an internal sensor. Uses a gyroscope to give a global heading. Saver and more power efficient to use optical gyros instead of mechanical ones. Accelerometers measure accelerations, integrate to get velocity and position. IMU's provide a pose in this form (x,y,z,yaw,pitch,roll)
Sensors: Bumper/Whisker
Example of a passive external sensor A wire suspended inside a charged case. When the wire is bent, it touches the side of the case, and completes a circuit. Simple and cheap, but can have spurious readings: bobbing of robot could be interpreted as impact.
Sensors: Magnetic Compasses
Example of a passive external sensor Measurement of the earth's magnetic field can be inferred into a position. However, they don't work so well on robots, as the robots are massive EM fields - which invalidate any readings from the compass.
Sensors: GPS
Example of a passive, external sensor. GPS calculates position based on timing signals from satellites. The accuracy isn't great (about within 10meters of actual). This is intentionally noisy data, as the military wants to keep the best technology away from public use. Also need to be outside, or at least in the range of 3+ satellites.
Sensors: Active Sonar
Example of an Active External sensor. Sends out a ping of sound, and calculates the time of it's return trip. Susceptible to the doppler effect (ineffective at judging distance of moving objects) Sounds can be captured by surroundings, and may take time to return.

Deck Info