Introduction to Robotics
description
Transcript of Introduction to Robotics
![Page 1: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/1.jpg)
Introduction to Robotics
Amitabha Mukerjee
IIT Kanpur, India
![Page 2: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/2.jpg)
What is a Robot?
Robot properties:
Flexibility in Motion
Mobile robots
daksh ROV: de-mining robot 20 commissioned in Indian
army 2011. 100+ more on order
built by R&D Engineers, Pune
daksh platform derived gun mounted robot (GMR)
![Page 3: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/3.jpg)
Want your personal robot?
Roomba vacuumCleaning robot
By i-robotPrice: ~ rs. 15-30K
![Page 4: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/4.jpg)
How to vacuum a space?
Roomba vacuumCleaning robot
By i-robotPrice: ~ rs. 30K https://www.youtube.com/watch?
v=dweVBqei9LA
![Page 5: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/5.jpg)
Models of Robot Motion
Circular robot
World Frame(Workspace frame)
W
![Page 6: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/6.jpg)
Models of Robot Motion
Robot frame
R
y
x
y
x
World Frame(Workspace frame)
DEFINITION: degrees of freedom: number of parameters needed to fix the robot frame R in the world frame W
NOTE: Given robot frame R, every point on the robot is known
W
given configuration qfor a certain pose of the robot, the set of points on the robot is a function of the configuration: say R(q)
(x,y) = configuration(vector q)
![Page 7: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/7.jpg)
Non-Circular Robot
DEFINITION: degrees of freedom: number of parameters needed to fix the robot frame R in the world frame W
How many parameters needed to fix the robot frame if it can only translate?
How many if it can rotate as well?
W
![Page 8: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/8.jpg)
Full 3D motion: Piano movers problem
General 3D motion:
How many parameters needed to fix the pose?
Can a design be assembled?
Test based on CAD models
![Page 9: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/9.jpg)
Research mobile robot
Turtlebot
Based on i-robot (roomba) platform(with kinect RGB-D sensor)
ROS (open-source) software
Price: ~ 75K
![Page 10: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/10.jpg)
Articulated robots
![Page 11: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/11.jpg)
What is a Robot?
Robots properties:
Flexibility in Motion
Mobile robots
Articulated robots
SCARA 4-axis arm(4 degrees-of-freedom)
by Systemantics Bangalore
![Page 12: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/12.jpg)
Industrial Robot
Robots involve
Flexibility in Motion
Mobile robots
Articulated robots
Industrial robot
![Page 13: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/13.jpg)
Industrial Robots
![Page 14: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/14.jpg)
How to program a welding robot?
![Page 15: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/15.jpg)
What is a Robot?
Robot properties
Flexibility in Motion
Mobile robots
Articulated robots
Industrial robot
Surgicalrobots
![Page 16: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/16.jpg)
Surgical Robot : Lumbar biopsy
needle path as planned on CAT scan
inserted needle position
![Page 17: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/17.jpg)
Modeling Articulated Robots
Kinematic chain: Pose of Link n depends on the poses of Links 1...(n-1)
Transformation between frame of link (n-1) and link n, depends on a single motion parameter, say θ
n
Exercise:What are the coordinates of the orgin of the end-effector center?
![Page 18: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/18.jpg)
Modeling Articulated Robots
workspace
configuration space
θ1
θ2
Exercise:Sketch the robot pose for the configuration [0, -90]
![Page 19: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/19.jpg)
Modeling Articulated Robots
Forward kinematics Mapping from configuration q to robot pose, i.e. R(q)
Usually, R() is the product of a sequence of transformations from frame i to frame i+1.
Note: Must be very systematic in how frames are attached to each link
Inverse kinematicsa. Given robot pose, find q
Or b. Given end-effector pose, find q
Q. Is the answer in (b) unique?
![Page 20: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/20.jpg)
Modeling Articulated Robots
workspace configuration space
θ1
θ2
What is the robot configuration q for the end-effector position (-L1,L2)?
![Page 21: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/21.jpg)
Research humanoid robot
Aldebaran Nao
Grasping an offered ball
![Page 22: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/22.jpg)
Sensor-Guided motion planning1. detect ball using colour:
image captured by nao HSV binarized contour detected
2. estimate distance of ball (depth)from image size
3. Inverse kinematics to grasp ball
![Page 23: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/23.jpg)
What is a Robot?
Robots properties
Flexibility in Motion
Mobile robots
Articulated robots
Digital actors
![Page 24: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/24.jpg)
Mobility isnt everything
![Page 25: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/25.jpg)
What is a Robot?
Robots properties
Flexibility in Motion
Mobile robots
Articulated robots
Digital actors
? Dentists cradle?
? Washing machine?
Intentionality
![Page 26: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/26.jpg)
What is a Robot?
Bohori/Venkatesh/Singh/Mukerjee:2005
![Page 27: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/27.jpg)
What is a Robot?
Robots involve
Flexibility in Motion
Dentists cradle?
Washing machine?
Intentionality
Measure : not default probability distribution
e.g. Turn-taking (contingent behaviour)
Goal : intrinsic or extrinsic
![Page 28: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/28.jpg)
Humans and Robots
madhur ambastha cs665 2002
![Page 29: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/29.jpg)
Robot Motion Planning
Amitabha Mukerjee
IIT Kanpur, India
![Page 30: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/30.jpg)
Nature of Configuration Spaces
![Page 31: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/31.jpg)
Robot Model
Boolean predicates / Model theory inadequate
Model must be grounded andaccessible (e.g. in perception)
Metaphor: extends basic concepts through similarity
![Page 32: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/32.jpg)
Models of Robot Motion
Robot frame
R
y
x
y
x
World Frame(Workspace frame)
DEFINITION: degrees of freedom: number of parameters needed to fix the robot frame R in the world frame W
NOTE: Given robot frame R, every point on the robot is known
W
given configuration qfor a certain pose of the robot, the set of points on the robot is a function of the configuration: say R(q)
(x,y) = configuration(vector q)
![Page 33: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/33.jpg)
Robot Motion Planning
(xS,y
S)
goalstart
(xG,y
G)
Obstacle B
Valid paths will lieamong those where the robot does not hit the obstacle
How to characterize the set of q for which the robot does not hit the obstacle B?
the set of configurations qwhere R(q) ∩ B = Øconstitute the free space Q
free
i.e. Qfree
= { q | R(q) ∩ B = Ø }
![Page 34: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/34.jpg)
Robot Motion Planning
find path P from qS to qG s.t. for all q ϵ P, R(q) ∩ B = Ø
? generate paths and check each point on every path?
Would it be easier to identify Qfree
first?
![Page 35: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/35.jpg)
Robot Motion Planning
Q QB
QB
= [ q | R(q) ∩ B ≠ Ø }
![Page 36: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/36.jpg)
Motion Planning in C-space
Q
start q
goal qpath
configurations are points in C-space
path P is a line
if P ∩ QB = Ø, then path is
in Qfree
QB
![Page 37: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/37.jpg)
startgoal
CB
Robot Motion Planning
workspace W
configuration space C
path
![Page 38: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/38.jpg)
Non-circular mobile robotsTriangle - translational
edges of C-obstacle are parallel to obstacle and robot edges...
![Page 39: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/39.jpg)
Non-circular mobile robots
![Page 40: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/40.jpg)
![Page 41: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/41.jpg)
Configuration Space Analysis
Basic steps (holds for ANY kind of robot):
determine degrees of freedom (DOF)
assign a set of configuration parameters q
e.g. for mobile robots, fix a frame on the robot
identify the mapping R : Q →W, i.e. R(q) is the set of points occupied by the robot in pose q
For any q and given obstacle B, can determine if
R(q) ∩ B = Ø. → can identify Qfree
Main benefit: The search can be done for a point
However, computation of C-spaces is not needed in practice; it is primarily a conceptual tool.
![Page 42: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/42.jpg)
Articulated Robot C-space
How many parameters needed to fix the robot pose ?
What may be one assignment for the configuration parameters?
![Page 43: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/43.jpg)
Articulated Robot C-space:Topology is not Euclidean
Topology of C-space: torus (S1 x S1)
Choset, H etal 2007, Principles of robot motion: Theory, algorithms, and implementations, chapter 3
![Page 44: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/44.jpg)
Mapping obstacles
Point obstacle in workspace
Obstacle in Configuration Space
![Page 45: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/45.jpg)
Map from C-space to W
Given the configuration q, determine the volume occupied by the robot in W
For multi-link manipulators, spatial pose of link (n+1) depends on links 1..n.
Main benefit: The search can be done for a point
However, computation of C-spaces is not needed in practice; it is primarily a conceptual tool.
![Page 46: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/46.jpg)
Finding shortest paths: Visibility Graph methods
restrict to supporting and separating tangents
Complexity: Direct visibility test: O(n3)Plane sweep algorithm: O(n2logn)
![Page 47: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/47.jpg)
Finding shortest paths: Generalized Voronoi Graphs
![Page 48: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/48.jpg)
Roadmaps
![Page 49: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/49.jpg)
Beyond Geometry
• Real robots have limitations on acceleration owing to torque / inertia Dynamics
• Learning to plan motions?
- Babies learn to move arms
- Learn low-dimensional representations of motion
• Grasping / Assembly : Motions along obstacle boundary-
![Page 50: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/50.jpg)
![Page 51: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/51.jpg)
Articulated Robot C-space
Path in workspace Path in Configuration Space
![Page 52: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/52.jpg)
Articulated Robot C-space
Topology of C-space: torus (S1 x S1)
![Page 53: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/53.jpg)
Articulated Robot C-space
Topology of C-space: torus (S1 x S1)
![Page 54: Introduction to Robotics](https://reader035.fdocuments.us/reader035/viewer/2022062322/568143f1550346895db079bf/html5/thumbnails/54.jpg)
Articulated Robot C-space
Topology of C-space: torus (S1 x S1)