Date post: | 31-Dec-2015 |
Category: |
Documents |
Upload: | sasha-hanson |
View: | 30 times |
Download: | 2 times |
Overview of Overview of Our SensorsOur Sensors For Robotics For Robotics
Machine visionMachine vision
• Computer vision• To recover useful information about a scene from
its 2-D projections.• To take images as inputs and produce other types
of outputs (object shape, object contour, etc.)• Geometry + Measurement + Interpretation• To create a model of the real world from images.
Topics
• Computer vision system
• Image enhancement
• Image analysis
• Pattern Classification
Related fields• Image processing
– Transformation of images into other images– Image compression, image enhancement– Useful in early stages of a machine vision system
• Computer graphics• Pattern recognition• Artificial intelligence• Psychophysics
Vision system hardware
Image Processing SystemImage Processing System
Image RepresentationImage Representation
Image• Image : a two-dimensional array of pixels• The indices [i, j] of pixels : integer values that
specify the rows and columns in pixel values
Sampling, pixeling and quantization
• Sampling– The real image is sampled at a finite number
of points.– Sampling rate : image resolution
• how many pixels the digital image will have• e.g.) 640 x 480, 320 x 240, etc.
• Pixel– Each image sample– At the sample point, an integer value of the
image intensity
• Quantization– Each sample is represented with
the finite word size of the computer.
– How many intensity levels can be used to represent the intensity value at each sample point.
– e.g.) 28 = 256, 25 = 32, etc.
Color models• Color models for images,
– RGB, CMY• Color models for video,
– YIQ, YUV (YCbCr)• Relationship between color models :
6.7. Digital Cameras6.7. Digital Cameras
Digital Cameras
• Technology• CCD (charge coupled devices)
• CMOS (complementary metal oxide semiconductor)
• Resolution• 60x80 black/white up to
• several Mega-Pixels in 32bit color
However: Embedded system has to have computing power to deal with this large amount of data!
Vision (camera + framegrabber)
Digital CamerasDigital Cameras
• Performance of embedded system: 10% - 50% of standard PC
Interfacing Digital Cameras to CPU
• Interfacing to CPU:• Completely depends on sensor chip specs
• Many sensors provide several different interfacing protocols
• versatile in hardware design
• software gets very complicated
• Typically: 8 bit parallel (or 4, 16, serial)
• Numerous control signals required
Interfacing Digital Cameras to CPU• Digital camera sensors are very complex units.
– In many respects they are themselves similar to an embedded controller chip.
• Some sensors buffer camera data and allow slow reading via handshake (ideal for slow microprocessors)
• Most sensors send full image as a stream after start signal – (CPU must be fast enough to read or use hardware buffer or
DMA)
• We will not go into further details in this course. However, we consider camera access routines
Simplified diagram of Simplified diagram of camera to CPU interfacecamera to CPU interface
Problem with Digital CamerasProblem with Digital Cameras• Problem
• Every pixel from the camera causes an interrupt
• Interrupt service routines take long, since they need to store register contents on the stack
• Everything is slowed down
• Solution
• Use RAM buffer for image and read full image with single interrupt
• Idea• Use FIFO as image data buffer
• FIFO is similar to dual-ported RAM, it is required since there is no synchronization between camera and CPU
• When FIFO is half full, interrupt is generated
• Interrupt service routine then reads FIFO until empty• (Assume delay is small enough to avoid FIFO overrun)
Bayer PatternBayer Pattern
De-MosaicDe-Mosaic
Conversion in Digital Cameras
• Bayer Pattern• Output format of most digital cameras
• Note: 2x2 pattern is not spatially located in a single point!
• Can be simply converted to RGB (drop one green byte) 160x120 Bayer → 80x60 RGB
• Can be better converted using “demosaicing” technique 160x120 Bayer → 160x120 RGB
CMUCAM2+ CAMERA www.seattlerobotics.com
• The camera can track user defined color blobs at up to 50 fps (frames per second)
• Track motion using frame differencing at 26 fps
• Find the centroid of any tracking data
• Gather mean color and variance data
• Gather a 28 bin histogram of each color channel
• Manipulate horizontal pixel differenced images
• Arbitrary image windowing
• Adjust the camera’s image properties
This camera cando a lot of processing
• Dump a raw image
• Up to 160 X 255 resolution
• Support multiple baud rates
• Control 5 servos outputs
• Slave parallel image processing mode off of single camera bus
• Automatically use servos to do two axis color tracking
• B/W analog video output (Pal or NTSC)
• Flexible output packet customization
• Multiple pass image processing on a buffered image
This camera cando a lot of processing
Vision Guided Vision Guided RoboticsRobotics
and Applications in Industry and Medicine
Contents• Robotics in General• Industrial Robotics• Medical Robotics• What can Computer Vision do for Robotics?• Vision Sensors• Issues / Problems• Visual Servoing• Application Examples• Summary
Industrial Robot vs Human• Robot Advantages:
– Strength
– Accuracy
– Speed
– Does not tire
– Does repetitive tasks
– Can Measure
Human advantages:
– Intelligence– Flexibility– Adaptability– Skill– Can Learn– Can Estimate
Robot needs vision
• Requirements:
– Accuracy– Tool Quality– Robustness– Strength– Speed – Price Production Cost– Maintenance
Industrial Robot
Production Quality
Medical (Surgical) Robot
• Requirements
– Safety
– Accuracy
– Reliability
– Tool Quality
– Price
– Maintenance
– Man-Machine Interface
What can Computer Vision do for (industrial and medical) Robotics?
• Accurate Robot-Object Positioning
• Keeping Relative Position under Movement
• Visualization / Teaching / Telerobotics
• Performing measurements• Object Recognition• Registration
Visual Servoing
Vision Sensors
• Single Perspective Camera
• Multiple Perspective Cameras (e.g. Stereo Camera Pair)
• Laser Scanner
• Omnidirectional Camera
• Structured Light Sensor
Vision Sensors• Single Perspective Camera
XPx x43Single projection
Vision Sensors
• Multiple Perspective CamerasMultiple Perspective Cameras (e.g. Stereo Camera Pair)
Vision Sensors• Multiple Perspective Cameras (e.g.
Stereo Camera Pair)
Vision Sensors
• Laser Scanner
Vision Sensors• Laser Scanner
Vision Sensors• Omnidirectional Camera
Vision Sensors
• Omnidirectional Camera
Vision Sensors
• Structured Light Sensor
Figures from PRIP, TU Vienna
Issues/Problems of Vision Guided Robotics
• Measurement Frequency
• Measurement Uncertainty
• Occlusion, Camera Positioning
• Sensor dimensions
Visual ServoingVisual Servoing• Vision System operates in a closed control loop.• Better AccuracyBetter Accuracy than „Look and Move“ systems
Figures from S.Hutchinson: A Tutorial on Visual Servo Control
Visual Servoing
• Example: Maintaining relative Object Position
Figures from P. Wunsch and G. Hirzinger. Real-Time Visual Tracking of 3-D Objects with Dynamic Handling of Occlusion
Camera Configurations for Visual Servoing
End-Effector Mounted Fixed
Figures from S.Hutchinson: A Tutorial on Visual Servo Control
Visual Servoing Architectures
Figures from S.Hutchinson: A Tutorial on Visual Servo Control
Position-based vs Image Based control in Position-based vs Image Based control in Visual ServoingVisual Servoing
– Position based: • Alignment in target coordinate system
• The 3D structure of the target is rconstructed
• The end-effector is tracked
• Sensitive to calibration errors
• Sensitive to reconstruction errors
– Image based:• Alignment in image coordinates
• No explicit reconstruction necessary
• Insensitive to calibration errors
• Only special problems solvable
• Depends on initial pose
• Depends on selected features
target
End-effector
Image of target
Image of end effector
EOL and ECL control in Visual Servoing– EOL: endpoint open-loop; only the target is
observed by the camera
– ECL: endpoint closed-loop; target as well as end-effector are observed by the camera
EOL ECL
Visual Servoing• Position Based Algorithm:
1. Estimation of relative pose
2. Computation of error between current pose and target pose
3. Movement of robot
• Example: point alignment
p1
p2
Visual Servoing• Position based point alignmentPosition based point alignment
• Goal: bring e to 0 by moving p1
e = |p2m – p1m|
u = k*(p2m – p1m)
• pxm is subject to the following measurement errors: sensor position, sensor calibration, sensor measurement error
• pxm is independent of the following errors: end effector position, target position
p1m p2m
d
Visual Servoing• Image based point alignmentImage based point alignment
• Goal: bring e to 0 by moving p1
e = |u1m – v1m| + |u2m – v2m|
• uxm, vxm is subject only to sensor measurement error
• uxm, vxm is independent of the following measurement errors: sensor position, end effector position, sensor calibration, target position
p1 p2
c1 c2
u1
u2
v1 v2
d1d2
Visual Servoing• Example Laparoscopy
Figures from A.Krupa: Autonomous 3-D Positioning of Surgical Instruments in Robotized Laparoscopic Surgery Using Visual Servoing
Visual Servoing• Example Laparoscopy
Figures from A.Krupa: Autonomous 3-D Positioning of Surgical Instruments in Robotized Laparoscopic Surgery Using Visual Servoing
Registration• Registration of CAD models to scene features:
Figures from P.Wunsch: Registration of CAD-Models to Images by Iterative Inverse Perspective Matching
Registration• Registration of CAD models to scene features:
Figures from P.Wunsch: Registration of CAD-Models to Images by Iterative Inverse Perspective Matching
Summary on tracking and servoing
• Computer Vision provides accurate and versatile measurements for robotic manipulators
• With current general purpose hardware, depth and pose measurements can be performed in real time
• In industrial robotics, vision systems are deployed in a fully automated way.
• In medicine, computer vision can make more intelligent „surgical assistants“ possible.
Omnidirectional Vision Systems
CABOTO Robot’s task: Building a topological map of an unknown
environment;
Sensor:Omnidirectional vision system;
Work’s aim:Prove effectiveness of omnidirectional sensors for Spatial
Semantic Hierarchy; SSHSSH
Spatial Semantic Hierarchy...
... A model of the human knowledge of large spaces
Layers:Layers:
–Sensory LevelSensory Level
–Control LevelControl Level
–Causal LevelCausal Level
–Topological LevelTopological Level
–Metrical LevelMetrical Level
Interface with the robot’s Interface with the robot’s sensory systemsensory system
Control Laws, Transition of Control Laws, Transition of State, Distinctiveness State, Distinctiveness
MeasureMeasure
View, Action, Distinct PlaceView, Action, Distinct Place
Abstracts Discrete from Abstracts Discrete from ContinousContinous
Minimal set ofMinimal set ofPlaces, Paths and RegionsPlaces, Paths and Regions
Distance, Direction, ShapeDistance, Direction, Shape
Useful, but seldom Useful, but seldom essentialessential
Tracking• Instrument tracking in laparoscopy
Figures from Wei: A Real-time Visual Servoing System for Laparoscopic Surgery
Omnidirectional Camera
Composed of:• Standard Color
Camera • Convex Mirror• Perspex Cylinder
Pros e ConsAdvantages
• Wide vision field
• High speed
• Vertical Lines
• Rotational Invariance
Disadvantages
• Low Resolution
• Distortions
• Low readability
Omnidirectional Vision and SSH
• View Omnidirectional image
Robot should discriminate between “Robot should discriminate between “turns”turns” and and ““travels”travels”
We need an Effective Distinctiveness measureWe need an Effective Distinctiveness measure
P2P2
P4P4 P3P3
P5P5
P1P1
–Exploring around the blockExploring around the block
Assumptions for vision system
• Man-made environment
• Floor flat and horizontal
• Wall and objects surfaces are vertical
• Static objects
• Constant Lighting
• Robot translates or rotates
• No encoders
Features and Events
Feature:– Vertical Edges
Events:– A new edge– An edge disappears– Two edges 180° apart– Two pairs of edges 180° apart
ExperimentsTasks of Caboto robot:• Navigation;• Map building;
Techniques:• Edge detection;• Colour marking;
Caboto’s Images
Results• Correct tracking of edges
• Recognition of actions
• Calculation of the turn angle
The path The path segmentationsegmentation
Mirror Design
• Design custom mirror profile
• Maximise resolution in
ROIs
Mirror ProfileMirror Profile
Mirror shape should depend on robotMirror shape should depend on robot task!task!
The new mirror
Conclusion on Omnivision Conclusion on Omnivision cameracamera
• Omnidirectional vision sensor is a good sensor for map building with SSH
• Motion of the robot was estimated without active vision
• The use of a mirror designed for this application will improve the system
Omnidirectional Cameras• Compound-eye
camera (from Univ. of Maryland, College Park. )
• Panoramic cameras (from Apple)
• Omnidirectional cameras
(from University of Picardie - France)
Student info.
• % of lab marks can be deducted if rules and regulation are not followed ex: by not cleaning up your bench or sliding your chairs back underneath bench top.• For more technical information on boards, devices and sensors check out my web page at :
www.site.uottawa.ca/~alan• Students are responsible for their own extra parts ex: if you want to add a sensor or device that the
dept. doesn’t have you are responsible for the purchase and delivery of that part, on rare occasion did the school purchase those parts.
• Back packs off bench tops• TA’s will have student # based on station #• Important issue regarding the design of a new project is to do a current analysis before the start of
your design• Setup a leader among your team so that you are better organized• Do not wait, before starting your project start now !• Prepare yourself before coming to the lab• It doesn’t work ! Ask yourself is it software or hardware, use the scope to trouble shoot• Fuses keeps on blowing, stop and do some investigation.• Do not cut any servo, battery and other device wire connectors. If you must please come and see
me• No design must exceed 50 volts, ex: do not work with 120 volts AC• I can give you what I have regarding metal, wood and plastic recycled pieces and do some cuts or
holes with my band saw and drill press for you, • PLEASE DO NOT ask me to barrow my tools. If you need to do a task with a special tool that I
have then I shall do it for you.
Problems for students1. Hardware and software components of a vision system for a mobile
robot2. Image representation for intelligent processing3. Sampling, pixeling and Quantization4. Color models5. Types of digital cameras.6. Interfacing digital cameras to CPU.7. Problems with cameras.8. Bayer Patterns and conversion.9. What is good about CMUCAM?10. Use of vision in industrial robots.11. Use of multiple-perspective cameras.12. Use of omnivision cameras.13. Types of visual servoing.14. Applications of visual servoing15. Visual servoing in surgery16. Explain tracking applications of vision.
References
• Photo’s ,Text and Schematics Information
• www.acroname.com
• www.lynxmotion.com
• www.drrobot.com
• Alan Stewart
• Dr. Gaurav Sukhatme
• Thomas Braunl
• Students 2002, class 479 • E. Menegatti, M. Wright, E. Pagello