Martin Jagersand Camilo Perez University of Alberta

Slides:



Advertisements
Similar presentations
Mobile Robot Locomotion
Advertisements

COMP Robotics: An Introduction
ROBOT VISION Lesson 9: Robot Kinematics Matthias Rüther
Introduction to Robotics Lecture One Robotics Club -Arjun Bhasin.
Links and Joints.
Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal.
Forward and Inverse Kinematics CSE 3541 Matt Boggus.
CSCE 641: Forward kinematics and inverse kinematics Jinxiang Chai.
Introduction to Robotics
Time to Derive Kinematics Model of the Robotic Arm
CSCE 641: Forward kinematics and inverse kinematics Jinxiang Chai.
Introduction to ROBOTICS
Chapter 25: Robotics April 27, The Week Ahead … Wednesday: Dmitrii Zagorodnov Thursday: Jeff Elser’s presentation, general discussion Friday: Rafal.
ME Robotics DIFFERENTIAL KINEMATICS Purpose: The purpose of this chapter is to introduce you to robot motion. Differential forms of the homogeneous.
Mobile Robotics: 10. Kinematics 1
CS274 Spring 01 Lecture 5 Copyright © Mark Meyer Lecture V Higher Level Motion Control CS274: Computer Animation and Simulation.
CSCE 689: Forward Kinematics and Inverse Kinematics
Mechatronics 1 Week 11. Learning Outcomes By the end of week 11 session, students will understand some sorts of mobile robot and locomotion of wheeled.
Stockman MSU/CSE Math models 3D to 2D Affine transformations in 3D; Projections 3D to 2D; Derivation of camera matrix form.
An Introduction to Robot Kinematics
CMPUT 412 Robotics Martin Jagersand Camilo Perez University of Alberta WAM $100,000 iRobot Packbot $100,000 Student robots $
Quick Overview of Robotics and Computer Vision. Computer Vision Agent Environment camera Light ?
Definition of an Industrial Robot
Motion Control (wheeled robots)
1 CMPUT 412 Motion Control – Wheeled robots Csaba Szepesvári University of Alberta TexPoint fonts used in EMF. Read the TexPoint manual before you delete.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Kinematic Linkages.
Constraints-based Motion Planning for an Automatic, Flexible Laser Scanning Robotized Platform Th. Borangiu, A. Dogar, A. Dumitrache University Politehnica.
Localisation & Navigation
9/14/2015CS225B Kurt Konolige Locomotion of Wheeled Robots 3 wheels are sufficient and guarantee stability Differential drive (TurtleBot) Car drive (Ackerman.
Advanced Programming for 3D Applications CE Bob Hobbs Staffordshire university Human Motion Lecture 3.
Lecture 2: Introduction to Concepts in Robotics
Wheeled Robots ~ 1.5 cm to a side temperature sensor & two motors travels 1 inch in 3 seconds untethered !!
Introduction to ROBOTICS
Robot Kinematics and linkage configurations 2 cmput 412 M. Jagersand With slides from A. Shademan and A Casals.
12 November 2009, UT Austin, CS Department Control of Humanoid Robots Luis Sentis, Ph.D. Personal robotics Guidance of gait.
1 Fundamentals of Robotics Linking perception to action 2. Motion of Rigid Bodies 南台科技大學電機工程系謝銘原.
Welcome to Robotics Robots! welcome – excited – stories :-)
Cmput412 3D vision and sensing 3D modeling from images can be complex 90 horizon 3D measurements from images can be wrong.
CSCE 441: Computer Graphics Forward/Inverse kinematics Jinxiang Chai.
Review: Differential Kinematics
CS-378: Game Technology Lecture #13: Animation Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney, Zoran Popovic, Jessica.
Minds and Computers4.1 Today's Topics l Braitenberg Vehicles l Art of Lego Design ä Notes from Jason Geist, Carnegie Mellon University l Differential Drive.
Robotica Lecture Review Reactive control Complete control space Action selection The subsumption architecture –Vertical vs. horizontal decomposition.
Minds and Computers 3.1 LEGO Mindstorms NXT l Atmel 32-bit ARM processor l 4 inputs/sensors (1, 2, 3, 4) l 3 outputs/motors (A, B, C) l 256 KB Flash Memory.
Just a quick reminder with another example
COMP 417 – Jan 12 th, 2006 Guest Lecturer: David Meger Topic: Camera Networks for Robot Localization.
Robot Kinematics and linkage configurations 2 cmput 412 M. Jagersand With slides from A. Shademan and A Casals.
City College of New York 1 John (Jizhong) Xiao Department of Electrical Engineering City College of New York Mobile Robot Control G3300:
Robotics II Copyright Martin P. Aalund, Ph.D.
INTRODUCTION TO DYNAMICS ANALYSIS OF ROBOTS (Part 4)
Trends in Robotics Research Classical AI Robotics (mid-70’s) Sense-Plan-Act Complex world model and reasoning Reactive Paradigm (mid-80’s) No models: “the.
CS559: Computer Graphics Lecture 9: 3D Transformation and Projection Li Zhang Spring 2010 Most slides borrowed from Yungyu ChuangYungyu Chuang.
Kinematics using slides from D. Lu. Goals of this class Introduce Forward Kinematics of mobile robots How Inverse Kinematics for static and mobile robots.
CSCE 441: Computer Graphics Forward/Inverse kinematics Jinxiang Chai.
Basilio Bona DAUIN – Politecnico di Torino
James Irwin Amirkhosro Vosughi Mon 1-5pm
Fundamentals of Computer Animation
Vision-Guided Humanoid Footstep Planning for Dynamic Environments
CSCE 441: Computer Graphics Forward/Inverse kinematics
Character Animation Forward and Inverse Kinematics
Automation as the Subject of Mechanical Engineer’s interest
Cover Option2.
Autonomous Robots Key questions in mobile robotics What is around me?
Trends in Robotics Research
Locomotion of Wheeled Robots
CSCE 441: Computer Graphics Forward/Inverse kinematics
Motion Models (cont) 2/16/2019.
Robot Intelligence Kevin Warwick.
Kinematics of Mobile Robots
Chapter 4 . Trajectory planning and Inverse kinematics
Presentation transcript:

Martin Jagersand Camilo Perez University of Alberta CMPUT 412 Review WAM $100,000 Martin Jagersand Camilo Perez University of Alberta Student robots $100-500 iRobot Packbot $100,000

Robot? .[4] For example Joseph Engelberger, a pioneer in industrial robotics, once remarked: "I can't define a robot, but I know one when I see one."[5]

Robotics broad field: Arms, hands, rover, UAV,… .[4] For example Joseph Engelberger, a pioneer in industrial robotics, once remarked: "I can't define a robot, but I know one when I see one."[5] Robotics broad field: Arms, hands, rover, UAV,…

How do we categorize these robots? What they can do? What sensors they have? How they move Most robots can move things (but varying distances) We can generally equip any robot with any type of sensor. The motion properties of an arm is different from a mobile robot/car and a UAV/helicopter

Mobile Robots (ground) Moves on 2D ground surface Needs just 2 motors Inexpensive Easy to model and control Large range of motion Hard to exactly localize Cannot generally pick things up and manipulate them

Robot arms and hands (linkages) Moves in 6DOF (3D position, 3D orientation) Min 6 motors in linkage (near) Perfect localization Expensive Easy to control Manipulates!

Free-flying robots Aerial and Underwater Moves in 6DOF (3D position, 3D orientation) Generally underactuated (4DOF) Hard to model and control User error = Crash and break Hard to exactly localize RC heli inexpesive, Military UAV expensive

Parts of a Robot Motors Motor controllers Transmission Linkages Sensors Computer

Majority Robotics in practice: Robot arms in Manufacturing Engineered environment Repeated motion 1 million arms in operation worldwide http://en.wikipedia.org/wiki/Industrial_robot

Emerging Robotics Applications Space - in-orbit, repair and maintenance, planetary exploration anthropomorphic design facilitates collaboration with humans Basic Science - computational models of cognitive systems, task learning, human interfaces Health - clinical applications, "aging-in-place,” physical and cognitive prosthetics in assisted-living facilities Military or Hazardous - supply chain and logistics support, re-fueling, bomb disposal, toxic/radioactive cleanup No or few robots currently operate reliably in these areas!

Newer robots DARPA WAMs Boston dynamics UofA’sRobotics and Vision group

DARPA Manipulation Challenge What is a robot? A physical system that (semi-) “autonomously” senses the environment and acts in it. Robot : Autonomy might be a continuous, not a discrete attribute Researchers disagree on what kind and how much autonomy is needed none full go through… robots! the next slide presents three axes along which you might evaluate a robot system… Robot Wars, Battlebots Canada Arm2 Robocup DARPA Manipulation Challenge There may be other axes along which to evaluate robots, too…

World Modeling Capabilities Autonomy How much information about the world does the robot internalize? more Capabilities there has been considerable tension among roboticists along this axis – how much of the word to model and how to do so… capabilities: probably at LEAST two axes here: coolness and there's sensor richness – the density or quantity of sensory information that a particular system deals with… Since there are only three dimensions on this slide… I'm combining those two… others: - ask? robust! wow (10) less Who's making the decisions? huh? (1) human-controlled Autonomy independent

CS 154: algorithms for programming autonomous robots Capability (0-10) World Modeling Robot Plot more Al Gore (11) Sims (5) Stanley/Boss (9) Shakey (3) MERs (8) Stanford Cart (3) Bar Monkey (9) less da Vinci (2) Unimate (4) Roomba (7) Genghis (3) human-controlled Autonomy CS 154: algorithms for programming autonomous robots

... ... Sense Plan Act (SPA) Stanford Cart Hans Moravec @ SAIL ACTING “functional” task decomposition SENSING perception Planning world modeling task execution motor control “horizontal” subtasks The field moved slowly, mostly because computation moved slowly! ... ... 1976

Cartland (outdoors) Video… see Lec 2 for large video…

... ... Reactive, Subsumption “Robot Insects” Rodney Brooks @ MIT planning and reasoning “behavioral” task decomposition identify objects “vertical” subtasks build maps ACTING SENSING explore wander avoid objects picture of Rodney Brooks – his paper!! ... ... 1985

Subsumption Genghis 57 modules wired together ! 1) Standing by tuning the parameters of two behaviors: the leg “swing” and the leg “lift” 2) Simple walking: one leg at a time 3) Force Balancing: via incorporated force sensors on the legs 4) Obstacle traversal: the legs should lift much higher if need be 5) Anticipation: uses touch sensors (whiskers) to detect obstacles 6) Pitch stabilization: uses an inclinometer to stabilize fore/aft pitch 7) Prowling: uses infrared sensors to start walking when a human approaches 8) Steering: uses the difference in two IR sensors to follow 57 modules wired together !

Subsumption Architecture navigate behavior wander behavior If you squint at it, what is this diagram? runaway behavior

Robot Architecture how much / how do we represent the world internally ? As much as possible! sense plan act SPA paradigm Not at all sense act Reactive paradigm stimulus – response == "behavior" Task-specific Subsumption paradigm different ways of composing behaviors Behavior-based architecture Potential Fields (later) As much as possible. Hybrid approaches

Environment Representation: The Map Categories Recognizable Locations Topological Maps Courtesy K. Arras Metric Topological Maps Fully Metric Maps (continuos or discrete)

from sort of simple to sort of complex Kinematics If we move a wheel one radian, how does the robot center move? Robot geometry and kinematic analysis gives answers! from sort of simple to sort of complex wheeled platforms manipulator modeling

Kinematic modeling: Arm Robot Strategy: Model each joint separately Combine joints and linkage lengths A simple example follows here. More general treatment of next lecture Abstract model http://www.societyofrobots.com/robot_arm_tutorial.shtml

Coordinate frames & forward kinematics 01_20 Coordinate frames & forward kinematics Three coordinate frames: Positions: Orientation of the tool frame: 1 2 1 2 01_20.jpg ‘0’ is the base frame, ‘2’ is the tool frame. The orientation of the tool frame is the projection of the tool frame onto the base frame (i.e. dot product)

01_21 Inverse kinematics Find the joint angles for a desired tool position Two solutions!: elbow up and elbow down 01_21.jpg These are simple examples… this becomes more complex for higher DOFs

Homogenous coordinates: Uniform matrix representation of translation and rotation The yellow dot is the origin of a tool coordinate X4Y4 frame Y3 Y4 3 2 3 Y2 X3 2 X2 X4 H = Rz(1 ) * Tx1(l1) * Rz(2 ) * Tx2(l2) * Rz(3 ) * Tx3(l3) This takes you from the X0Y0 frame to the X4Y4 frame. The position of the yellow dot relative to the X4Y4 frame is (0,0). Y0 1 X1 1 Y1 X0 Notice that multiplying by the (0,0,0,1) vector will equal the last column of the H matrix.

Numerical Inverse Kinematics Cartesian Location Motor joint angles: Local linear model: Numerical steps: 1 Solve: 2 Update:

The Numeric solution: How to solve? Newton’s Method Y3 Y4 x3 2 3 Y2 X3 x2 X2 Function: Jacobian J = matrix of partial derivatives: Analytic J: Take derivatives of H Numeric estimation: Test movements or Broydens method (cmput 340, Heath Ch 5,6) X4 Y0 1 X1 Y1 x1 X0

Numerical Inverse Kinematics Solve for motion: Move robot joints: Read actual Cartesian move Update Jacobian: repeat Move the robot to each subgoal in sequence Iterate until convergence at final goal Goal

Kinematics: Differential drive 1) Specify system measurements x y - consider possible coordinate systems 2) Determine the point (the radius) around which the robot is turning. w - each wheel must be traveling at the same angular velocity around the ICC V VL 3) Determine the robot’s speed around the ICC and its linear velocity 2d VR w(R+d) = VL ICC R w(R-d) = VR robot’s turning radius Thus, w = ( VR - VL ) / 2d R = d ( VR + VL ) / ( VR - VL ) So, where’s the robot? So, the robot’s velocity is V = wR = ( VR + VL ) / 2

Kinematics: Differential drive 4) Integrate to obtain position x y Vx = V(t) cos(q(t)) w(t) Vy = V(t) sin(q(t)) Thus, V(t) x(t) = ∫ V(t) cos(q(t)) dt VL y(t) = ∫ V(t) sin(q(t)) dt 2d q(t) = ∫ w(t) dt VR ICC Kinematics R(t) robot’s turning radius with w = ( VR - VL ) / 2d R = d ( VR + VL ) / ( VR - VL ) What has to happen to change the ICC ? V = wR = ( VR + VL ) / 2 things have to change over time, t

Uncertain motion: Probabilistic kinematics Repeated application of the sensor model for short movements. For a motion command u, and starting position x’, what is the probability to end at x? p(x|u,x’) x’ x’ u u

But the Nomad’s differential motion is constrained. holonomicity Mobile robots mentioned thus far share an important (if frustrating) property: they are nonholonomic . - makes it more difficult to navigate between two arbitrary points - need to resort to techniques like parallel parking By definition, a robot is holonomic if it can move to change its pose instantaneously in all available directions. But the Nomad’s differential motion is constrained. Synchro Drive two DOF are freely controllable; the third is only indirectly accessible

Sensors: Our robot CMU Herb Darpa Manip challenge Cameras Laser range finder Cameras and 3D TOF laser Our robot CMU Herb Darpa Manip challenge

Sensors on a $300 UAV AR.Drone Front and down facing camera Ultrasonic distance (height)

Classification of Sensors Where is the information coming from? Inside: Proprioceptive sensors motor speed, wheel load, heading of the robot, battery status Outside: Exteroceptive sensors distances to objects, intensity of the ambient light, unique features How does it work? Requires energy emission? No: Passive sensors temperature probes, microphones, CCD Yes: Active sensors Controlled interaction -> better performance Interference Simple vs. composite (sonar vs. wheel sensor)

Simple visual sensing: LED markers Put camera overhead pointing straight down on worktable. Adjust cam position so pixel [u,v] = s[X,Y]. Pixel coordinates are scaled world coord Lower brightness so LED brightest Put LED on robot end-effector Detection algorithm: Threshold brightest pixels I(u,v)>200 Find centroid [u,v] of max pixels Variations: Blinking LED can enhance detection in ambient light. Different color LED’s can be detected separately from R,G,B color video. Camera X Y LED

01_24 Robot motor (joint) control (More of an Engineering discipline than CS) We can create a desired tool path/velocity Use inverse kinematics and Jacobian to create desired joint trajectories desired trajectory controller error system dynamics 01_24.jpg measured trajectory (w/ sensor noise) actual trajectory

Accuracy, Repeatability and Resolution An classic arm - The PUMA 560 Factory about 10mm Calibrated 1-5mm Repeatability 1mm Resolution 0.1mm

Upcoming: More accurate control though Visual Servoing : Current Image Features : Desired Image Features