16-311-Q I NTRODUCTION TO R OBOTICS L ECTURE 2-3: R OBOT P OSE - R EPRESENTATION AND TRANSFORMATION I NSTRUCTOR : G IANNI A. D I C ARO
N E E D E D : P O S I T I O N A N D O R I E N TAT I O N • A robot is embedded in a physical environment, its actions and their e ff ects strictly depend on where the robot is precisely located in the environment in terms of position + orientation • Position and orientation with respect to which reference ? • Position and orientation of which part of the robot? 2
R I G I D B O D Y A N D P O I N T A B S T R A C T I O N Rigid body assumption: The object is rigid , such that its constituent points maintain a constant relative position with respect P to each other and to the object’s coordinate frame This holds under any translation and rotation applied to the rigid body Point abstraction can be applied (note: does not apply to soft or humanoid robots) Configuration of the object/robot = Complete specification of the location of every point: It can be computed from a single reference point A robot of any single-body shape can be “reduced” to a point , selected as reference point A multi-body robot, with n moving parts (not rigidly connected) can be “reduced” to n points , selected as reference points 3
R O B O T P O S E Define a fixed world reference coordinate frame {W} Center a (local) coordinate frame {R} in the robot’s reference point P , (possibly) oriented according to P y p robot’s natural orientation r A point in space ( = chosen reference point P ) is described by a coordinate vector r representing the θ displacement of the point with respect to the x p reference coordinate frame {W} (e.g., using Polar or Cartesian coordinates) x R y R y The pose/configuration of the object/robot in {W} is described by the position and orientation P of the (local) coordinate frame {R} wrt {W} {R} 𝝄 R 𝝄 R is the relative pose of the frame/robot x with respect to the reference coordinate frame {W} 4
M O B I L E R O B O T C O N F I G U R AT I O N / P O S E The configuration of a non-omnidirectional N O N O M N I D I R E C T I O N A L mobile robot in a two-dimensional coordinate systems is fully defined by: θ 1. position (x,y) y 2. orientation angle θ , with respect to the q =( x , y , θ ) coordinate axes The triple q=(x,y, θ ) is the robot pose x In 3D the pose / configuration (of an object) is a a 6-dimensional vector: What about an omnidirectional mobile robot? 5
G E N E R A L I Z E D C O O R D I N AT E S , D O F Generalized coordinates: The n parameters q = ( q 1 , q 2 , …, q n ), that uniquely describe the configuration of the system relative to some reference configuration/system. Generalized velocities: The time derivatives of generalized coordinates. State of the system : Described by (generalized coordinates, generalized velocities) Degrees of freedom: A system whose configuration is described by n independent generalized coordinates has n degrees of freedom. If there are m functional relations among the generalized coordinates, the number of DoF becomes n-m q n q =( q 1 , q 2 ,…, q n ) • The state of the system can be changed operating q 3 on n independent variables • To reach any point in a 3D embedding workspace a robot must have “at least” 6 degrees of freedom q 1 q 2
R O B O T C O N F I G U R AT I O N / P O S E F O R A R M S The configuration of a robot arm is defined by its joints and their characteristics Prismatic q = ( q 1 , q 2 , . . . , q 10 ) ~ joint (1 DOF) Multiple translational and rotational DOFs, each q is either an angle or a distance Revolute joint (1 DOF) • Pose of the manipulator: Configuration of all joints ( n DoF for n revolute joints) • Pose of the end-effector: 6-DoF , can be obtained by the pose of manipulator (reverse doesn’t hold! multiple manipulator poses can generate the same ee-pose) 7
W O R K S PA C E A N D C O N F I G U R AT I O N S PA C E Workspace : A robot’s workspace (or workspace envelope) is the set of all points the robot can reach in the physical embedding volume. Configuration space (C-space): the set of all possible robot configurations based on robot’s structure and environmental constraints. If the robot has n DOFs, then the configuration space is n-dimensional (usually a non-Cartesian manifold). R 2 R 2 × S 1 8
W O R K S PA C E A N D C O N F I G U R AT I O N S PA C E R 2 R 2 × S 1 q = (x,y) q = ( θ 1 , θ 2 ) q = (x,y , θ ) q = (x,y , z, ɸ , θ , Ψ ) q = (s ) q = (s, θ ) q = ( θ ) 9
C O N F I G U R AT I O N S PA C E I N P R E S E N C E O F E X T E R N A L O B S TA C L E S One reference point is selected: C-space is obtained wrt the reference point by sliding the robot along the edge of the obstacle regions "blowing them up" by the robot radius 10
C - S PA C E A N D P O I N T R E D U C T I O N Special case: The robot is a polygonal one and can only translate For motion planning and navigation a mobile robot of any shape can be “reduced” to a point , precisely the chosen reference point as long as all reasonings are done in the C-space 11
TA S K S PA C E • While the pose is naturally expressed as vector of generalized coordinates (in the configuration space), we might be also interested to express the pose in a task- depending embedding space • Task space 𝓤 : Set of possible poses in the task-defined space • Example: A robot train, constrained to move on a rail from a start point • Task is motion along the rail: 𝓤⊂ ℝ , 𝓤 ≡ C • Task asks about the position of the train in a plane: 𝓤⊂ ℝ 2 • Task requires 3D robot train position and orientation: 𝓤⊂ SE(3) • In the last last two cases the dimension of the task space exceeds the dimension of the z configuration space: robot moves on a manifold in the (higher dimensional) task space, there is a mapping from q to 𝝄 ∈ 𝓤 12
C O M P U T I N G A ( R E L AT I V E ) P O S E I S A C O R E P R O B L E M Common questions in mobile robotics: What is robot’s pose What is intruder’s pose, observed What is robot’s pose with respect to the world using robot’s lateral camera, in with respect to the reference frame {W}? the world frame {W}? external frame {H}? {W} {W} {W} {H} {I} {R} {R} {R} {W} What is the velocity What is robot’s pose in profile that allows to {W} after moving at a reach a pose 𝝄 in {W}? velocity v for 1 minute? ? 13
L E T ’ S G O B A C K T O P O S E … Define a fixed world reference coordinate frame {W} Center a (local) coordinate frame {R} in the robot’s reference point P , (possibly) oriented according to P y p robot’s natural orientation r A point in space ( = chosen reference point P ) is described by a coordinate vector r representing the θ displacement of the point with respect to the x p reference coordinate frame {W} (e.g., using Polar or Cartesian coordinates) x R y R y The pose/configuration of the object/robot in {W} is described by the position and orientation P of the (local) coordinate frame {R} wrt {W} {R} 𝝄 R 𝝄 R is the relative pose of the frame/robot x with respect to the reference coordinate frame {W} 14
U S E A N D P R O P E RT I E S O F R E L AT I V E P O S E S The relative pose W 𝝄 R describes the frame x R y R {R} with respect to the frame {W} y w The leading superscript denotes the reference coordinate frame, the subscript denotes the {R} frame being described R P W 𝝄 R P W P If the initial superscript is missing the reference frame is a world coordinate frame. 𝝄 is the object being described x w {W} The point P can be described with respect W 𝝄 R could be seen as describing some to either coordinate frame: motion : first applying a displacement W P = W 𝝄 R . R P and then a rotation to {W} the right-hand side expresses the motion {W} {R} P The operator · transforms the vector, resulting in a new vector that describes the same point but with respect to a di ff erent coordinate frame. 15
C O M P O S I T I O N O F R E L AT I V E P O S E S One frame can be described in terms of another by a relative pose ➔ The procedure can be applied sequentially by a relative pose composition operator ⊕ Pose({C} relative to {A}) = Pose({B} relative to {A}) ⊕ Pose({C} relative to {B}) A 𝝄 C = A 𝝄 B ⊕ B 𝝄 C ➔ A P = ( A 𝝄 B ⊕ B 𝝄 C ) . C P = A 𝝄 C . C P A P = A 𝝄 B . B P A relative pose can transform a point expressed as a vector relative to one frame to a vector relative to another 16
P O S E S F O R M A N A D D I T I V E G R O U P The set of poses equipped with the combination operator ⊕ form an additive group. In the case of a mobile robot this is the SE(2) Special Euclidean group (SE(3) in 3D) 𝝄 1 ⊕ 𝝄 2 = 𝝄 3 Composition of two poses results in a new pose Closure: A 𝝄 B ⊕ B 𝝄 C = A 𝝄 C A 𝝄 B ⊕ A 𝝄 C = B 𝝄 C ( A 𝝄 B ⊕ B 𝝄 C ) ⊕ C 𝝄 D = A 𝝄 B ⊕ ( B 𝝄 C ⊕ C 𝝄 D ) Associativity: Identity 𝝄 ⊕ 0 = 0 ⊕ 𝝄 = 𝝄 0 is the null relative pose element: ⊖ A 𝝄 B = B 𝝄 A ( ⊖ 𝝄 ) ⊕ 𝝄 = 𝝄 ⊕ ( ⊖ 𝝄 ) = 0 Inverse: 𝝄 ⊖ 0 = 𝝄 𝝄 ⊖ 𝝄 = 0 Composition is NOT commutative: 𝝄 1 ⊕ 𝝄 2 ≠ 𝝄 2 ⊕ 𝝄 1 (because of the angle part of poses) 17
Recommend
More recommend