490 likes | 621 Views
Towards Practical Visual Servoing in Robotics. R. Tatsambon Fomena. Example of a f ully integrated system. Manus ARM, iARM Exact Dynamics Joysticks and keypads common user interfaces. Image from http://www.exactdynamics.nl. Examples of a fully integrated system.
E N D
Towards Practical Visual Servoing in Robotics R. TatsambonFomena
Example of a fully integrated system ManusARM, iARM Exact Dynamics Joysticks and keypadscommonuser interfaces Image fromhttp://www.exactdynamics.nl
Examples of a fully integrated system http://www.youtube.com/watch?feature=player_embedded&v=LBUyiaAPCcY Click-graspapplicationwiththeintelligentManusArm
Visual servoing: Example of a fully integrated system 1. User selects object The position of the object is computed using stereo vision from the shoulder of the camera 2. Robot arm moves to that position expressed in its base frame 3. Having the object in view the robot arm computes a more precise target and adjust orientation 4. Using left gripper camera, robot searches database for best object match. 5. Using the object template the robot arm moves to align the feature points . 6. Once aligned gripper moves forward and closes its gripper. 7. Robot returns object to user. (Tsuiet al., JABB, 2011)
Kinova Robotics aims also for a similar system Joystick control.3 Control Modes: • Move robot's hand in three dimensional space, while maintain the orientation of the hand. • User can modify orientation of the hand, but keeping hand centered at the same point in space. • User can grasp and release of the hand using either two or three fingers. http://www.youtube.com/watch?feature=player_embedded&v=O0nr8NdV6-M http://www.youtube.com/watch?feature=player_embedded&v=vV4tbS7WTL0 Image from http://kinovarobotics.com
Visual servoing: The control concept Robot + Camera(s) World HRI Specification of Goal S* S* ACTION - + S PERCEPTION perception for action • (Espiauet al., TRA, 92) (Hutchinson et al., TRA, 96)
Visual servoing: Why visual sensing? • How to control the position of the end-effector of a robot with respect to an object of unknown location in the robot base frame? • How to track a moving target? A visual sensor provides relative position information
Visual servoing: How can you use visual data in control? • Look then move • Visual feedback control loop Robot + Camera(s) Robot + Camera(s) PERCEPTION S-S* ACTION S* ACTION S PERCEPTION - +
Quiz What are the advantages of closed-loop control over open loop control approach?
Visual servoing: Ingredients for a fully integrated system • HRI • Visual tracking method • Motion control algorithm Robot + Camera(s) S* ACTION S HRI Specification of Goal S* PERCEPTION
Visual servoing: Visual tracking • Crucial as it provides the necessary visual feedback • coordinates of image points or lines • Should give reliable and accurate target position in the image PERCEPTION S S=(x,y) Selection of the set of Measurements to use for control Camshift color tracker provides 2D (x,y) coordinates of the tracked objects Current image Tracker searches for the end-effector
Visual Tracking Applications: Watching a moving target • Camera + computer can determine how things move in an scene over time. Uses: • Security: e.g. monitoring people moving in a subway station or store • Measurement: Speed, alert on colliding trajectories etc.
Visual Tracking Applications: Human-Computer Interfaces • Camera + computer tracks motions of human user and interprets this in an on-line interaction. • Can interact with menus, buttons and e.g. drawing programs using hand movements as mouse movements, and gestures as clicking • Furthermore, can interpret physical interactions
Visual Tracking Applications: Human-Machine Interfaces • Camera + computer tracks motions of human user, interprets this and machine/robot carries out task. • Remote manipulation • Service robotics for the handicapped and elderly
Visual servoing: Example of visual tracking Registration based Tracking Nearest Neighbor tracker N vs Efficient Second Order Minimization http://www.youtube.com/watch?v=do5EQGMpv50
Visual servoing: Motion control algorithm • 3 possible control methods depending on the selection of S: 2D, 3D, and 2 ½ D (Corke, PhD, 94) 3D VS 2 ½ D VS 2D VS High bandwidth requires precise calibration: camera and robot-camera
Visual servoing: Motion control algorithm • Key element is the model of the system (Corke, PhD, 94) 3D VS 2 ½ D VS 2D VS 2D VS 2 ½ D VS 3D VS Abstraction for control Robustness to image noise, calibration errors Suitable for unstructured environments
3D Visual servoing (Wilson et al., TRA, 1996) How to sense position and orientation of an object?
2-1/2 D = Homography-based Visual servoing (Maliset al., TRA, 1999) Euclidean Homography?
2D Visual servoing (Espiauet al., TRA, 1992) (Jagersandet al., ICRA, 1997) Example of 2D features? http://www.youtube.com/watch?v=Np1XFuDFcXc
Quiz What are the pro and cons of each approach? 1-a) 2D 1-b) 3D 1-c) 2 ½ D
Visual servoing: Motion control algorithm • Key element is the model of the system: how does the image measurements S change with respect to changes in robot configuration q? can be seen as a sensitivity matrix
Visual servoing: Motion control algorithm • How to obtain ? 1) Machine learning technique • Estimation using numerical methods, for example Broyen 2) Model-based approach • Analytical expression using the robot and the camera projection model • Example S=(x,y) (Jagersandet al., ICRA, 1997) How to derive the Jacobian or interaction matrix L?
Visual servoing: Motion stability • How to move the robot knowing e = S-S* and ? • Classical approach: the control law imposes an exponential decay of the error Classical control
Visual servoing: Motion control algorithm :=VisualTracker(InitImage) Init = Init While ( > T ) { CurrentImage := GrabImage(camera) := VisualTracker(CurrentImage) Compute = Estimate Compute Change robot configuration with }
Visual servoing: HRI • Important for task specification • point to point alignment for gross motions • points to line alignment for fine motions • Should be easy and intuitive • Is user dependent
(Kragic and Christensen, 2002) How does the error function looks like?
(Kragic and Christensen, 2002) How does the error function looks like?
(Kragic and Christensen, 2002) How does the error function looks like?
Visual Servoing: HRI-point to point task error • Point to Point task “error”: Why 16 elements?
Visual Servoing: HRI-point to line task error • Point to Line Line: Note: y homogeneous coord.
Visual Servoing: HRI-parallel composition example E (y) = wrench y - y y - y 4 2 7 5 y • (y y ) y • (y y ) 8 6 2 4 1 3 (plus e.p. checks)
(Li, PhD thesis, 2013) Maintaining visibility http://www.youtube.com/watch?feature=player_embedded&v=QQJIVh0WICM
Visual Servoing: HRI with virtual visual fixtures Motivation • Virtual fixtures can be used for motion constraints Potential Applications • Improvements on vision-based power lines or pipelines inspection • Flying over a power line or pipeline by keeping a constant yaw angle relative to the line (line tracking from the top) • Hovering over a power pole and moving towards the top of a power pole for a closer inspection https://www.youtube.com/watch?v=5W3HiuOYuhg
Where does virtual fixtures can be useful? • Robot Assistant method for microsurgery (steady hand eye robot) • “Here the extreme challenge of physical scale accentuate the need for dexterity enhancement, but the unstructured nature of the task dictates that the human be directly “in the loop”” - EyeRobot1
Where does virtual fixtures can be useful? • How to assist the surgeon? Cooperative control with the robot • Incorporate virtual fixture to help protect the patient, and eliminate hand’s tremors of the surgeon during surgery -
Where does virtual fixtures can be useful? • Central retinal vein occlusion, solution= retinal vein cannulation • Free hand vein cannulation http://www.youtube.com/watch?v=MiKVFwuFybc&feature=player_embedded • Robot assisted vein cannulation http://www.youtube.com/watch?v=s5c9XuKtJaY&feature=player_embedded • What to prove? “robot can increase success rate of cannulation and increase the time the micropipette is maintained in the retinal vein during infusion”
Virtual fixture: example • JHU for VRCM (Virtual Remote Center of Motion) http://www.youtube.com/watch?v=qQEJEM7YeXY&feature=player_embedded
What is a virtual fixture? • “Like a real fixture, provides surface that confines and/or guides a motion” (Hager, IROS, 2002) Its role is typically to enhance physical dexterity (Bettini et al., TRO, 2004)
What is a virtual fixture? • “Software helper control routine” (A. Hernandez Herdocia, Master thesis, 2012) Line constraint, plane constraint
What is virtual visual fixture? Vision-based motion constrains • Geometric virtual linkage between the sensor and the target, for 1 camera visual servoing(Chaumetteet al., WS, 1994) Extension of the basic kinematic of contacts • Image-based task specification from 2 cameras visual servoing(Doddset al., ICRA, 1999) Task geometric constraint defines a virtual fixture
What is virtual visual fixture? Vision-based motion constraints • Geometric virtual linkage (Chaumetteet al., WS, 1994)
What is virtual visual fixture? Vision-based motion constraints • Image-based task specification (Dodds et al., ICRA, 1999)
Mathematical insight of virtual fixture • As a control law – filtered motion in a preferred direction • As a geometric constraints – virtual linkage • As condition for observer design - persistency of excitation Prove it? • (Hager, IROS, 1997)
Mathematical insight of virtual visual fixture Take home message: Kernel of the Jacobian or interaction matrix in visual servoing (Tatsambon, PhD, 2008)
Summary: where are the next steps to move forward? • The conclusion is clear • So far only a handful existing fully integrated and tested visual servoing system • Mechatronics & theoretical developments than actual practical software development • Our natural environment is complex: Hard to design an adequate representation for robots navigation • It is time to free visual servoing from its restrictions to solving real world problems • Tracking issue: reliability and robustness (light variation, occlusions, …) • HRI problem: Image-based task specification, new sensing modalities should be exploited
Short term research goal: new virtual visual fixture • Virtual fixtures • Line constraint To keep tool on the line Can be done with point-to-line alignment • Ellipse constraint To keep the tool on the mapping of a circle Has never been done
Short term research goal: grasping using visual servoing Instead of having predefined grasping points in a database of objects Where to grasp?