1
Advanced Robotics for Autonomous ManipulationGiacomo Marani
Autonomous Systems Laboratory, University of Hawaii
Department of Mechanical Engineering ME 696 – Advanced Topics in Mechanical Engineering
http://www2.hawaii.edu/~marani
Course Objectives
Autonomous Robotics, a challenging technology milestone, refers to the capability of a robot system that performs intervention tasks requiring physical contacts with unstructured environments without continuous human supervision.Such a robot system underlies several emerging markets and applications, including security and rescue operations, space and underwater applications, military applications, and the health-care industry.
Course Objectives
This course intends to provide graduate students with advanced methods in robotics suitable for autonomous operation, such as task prioritization, auto-calibration and target interaction.
Advanced Robotics for Autonomous Manipulation will offers to the students the unique possibility of interacting with a sophisticated autonomous robotic system (the SAUVIM Autonomous Underwater Vehicle-Manipulator system), to perform individual and group experimental activities as part of the course.
IntroductionAutonomous Underwater Intervention
4
The SAUVIM Project
SAUVIM has been jointly developed by the Autonomous Systems Laboratory (ASL) of the University of Hawaii, Marine Autonomous Systems Engineering (MASE), Inc. in Hawaii, and Naval Undersea Warfare Center Division Newport (NUWC) in Rhode Island.SAUVIM’s main goal is to perform autonomous underwater intervention tasks.
Research key points:• Autonomous Navigation• Vehicle localization• Autonomous Manipulation• Target localization
ContentsIntroduction1. SAUVIM Design2. Aut. Manipulation3. Maris 7080 Robot4. Target Localization5. Course Topics6. RDS7. Course Organiz.Examples
SAUVIMSemi-Autonomous Underwater Vehicle for Intervention
Missions
5
SAUVIMSemi-Autonomous Underwater Vehicle for Intervention
Missions
6
7
Autonomous Underwater InterventionIntroduction
Semi-Autonomous ConceptAutonomy Level:• The level of autonomy is related to the level
of information needed by the system in performing the particular intervention.
• The user provides only few high level decisional commands
• The management of lower level functions (i.e. driving the motors to achieve a particular task) is left to the onboard system.
• This concept requires the system being capable of acting and reacting to the environment with the extensive use of sensor data processing.
SAUVIM Manipulation Subsystem
Sauvim Explorer User interface:
• Sensor Data monitoring system• VR underwater scene
reconstruction• Actuators power control• Arm Programming Language
console• Teleoperation or autonomous mode• Simulation mode
Maris 7080 Underwater Manipulator
• Manufacturer: Ansaldo DNU, Italy• 7+1 degrees of freedom• Designed for underwater
applications at high depths (oil filled with compensating system)
• Brushless motor with reduction unit
• Two resolvers for each joint (motor and joint)
• JR3 Force/Torque sensor• High positioning accuracy and
repeatability Actuators power control
xBus Communication
Subsystem(Client/Serverarchitecture)
MARIS 7080 Robotic ManipulatorMARIS 7080 specifications
10
Specifications• Manufacturer: Ansaldo DNU, Italy• 7+1 degrees of freedom• Designed for underwater applications at
high depths1 (oil filled with compensating system)
• Brushless motor with reduction unit (harmonic drive)
• Two resolvers for each joint (motor and joint)
• JR3 Force/Torque sensor• High positioning accuracy and
repeatability
1 The manipulator theoretical working depth is 4000m, calculated on the basis of characteristics of sealing components.
ContentsIntroduction1. SAUVIM Design2. Aut. Manipulation3. Maris 7080 Robot4. Target Localization5. Course Topics6. RDS7. Course Organiz.Examples
MARIS 7080 Robotic Manipulator MARIS 7080 kinematics
11
MARIS 7080 kinematics
ContentsIntroduction1. SAUVIM Design2. Aut. Manipulation3. Maris 7080 Robot4. Target Localization5. Course Topics6. RDS7. Course Organiz.Examples
Writing `Welcome`SD010
Sensor fusionLocating the target:
• Long range: sidescan sonar, imaging sonar
• Medium/short range: DIDSON• Short range: motion trackers,
camera, JR3 force sensor
Extensive use of the sensor data within the arm programming language environment
xBus Communication
Subsystem
Scan Sonar
Didson Sonar
CameraMotion tracker
TARGET
PrecisionDistance
Target localizationMotion Trackers
14
Target localization with Motion trackers
• High Accuracy and short distance• Ultrasonic 6 DOF tracker
ContentsIntroduction1. SAUVIM Design2. Aut. Manipulation3. Maris 7080 Robot4. Target Localization5. Course Topics6. RDS7. Course Organiz.Examples
Test Tube with Ultrasonic TrackerSD012
Underwater Demo #2Deploying an object
Localizing a chessboard
• The arm picks the object to deploy from the vehicle
• The arm the arm scans around in order to look for the chessboard
• Once the chessboard is detected, the arm deploys the object over it.
Chessboard Tracker (Demo 02, 2005.09.30)SD020
Underwater Demo #3Cutting the cable
Localizing and cutting a cable
• The arm scans around in order to look for the ball
• Once the ball is detected, the arm attempts to position the gripper about 5 inches over the ball.
• When no movement is detected from the camera-arm system, the arm proceeds cutting the cable (open gripper, move forward of 2 inches, close gripper).
Cable Cutting (Demo 03, 2005.10.20)SD021
• The arm scans around in order to look for the target• Once the target is detected, the arm attempts to clamp the hook (tied to a cable) in between the 2 spheres.
Demo SD023: Target Recovery [October 2006]
Cable Hooking, Hi-Res (Demo 05, 2006.10.26)SD023
• The vehicle deploys the arm and scans the area in search for the target• Once the target is detected, the whole vehicle-manipulation system attempts to lock the target and point the end-effector to it
Demo SD025: Target Tracking [July 2008]
In search for the the targetSD025
ME696- Advanced RoboticsTopics
24
Course Topics
1. Geometry and kinematics of robotics structures: a generalized approach for multi-body systems.
2. Task space controller: Task Projection method and prioritization in autonomous systems.
3. Robotics advanced dynamics: Lagrange equation for quasi-coordinates.
4. Identification of system dynamics.5. Dynamic control of manipulators.6. Methods for target identification and tracking.7. Target interaction and force control.8. Autonomous Calibration of robotic systems.9. Experimental activities with the RDS simulation tool and
with the SAUVIM robotic manipulator.
ContentsIntroduction1. SAUVIM Design2. Aut. Manipulation3. Maris 7080 Robot4. Target Localization5. Course Topics6. RDS7. Course Organiz.Examples
Simulation Environment Simulink and RDS
25
The Simulation Environment:Combined use of Simulink® and Robotics
Developer Studio1
High-level language, with a minimum amount of manual coding.
Automatic use of a symbolic processor for evaluating any relation referring any kinematical and/or dynamical quantity (transformation matrixes, jacobians…) .
Automatic code optimization for real-time operation.
.1 G. Marani: “ROBOSIM: Un programma per la Simulazione di Strutture Meccaniche Robotizzate”, Master thesis (in Italian), University of Pisa, Italy, February 1997
ContentsIntroduction1. SAUVIM Design2. Aut. Manipulation3. Maris 7080 Robot4. Target Localization5. Course Topics6. RDS7. Course Organiz.Examples
Simulation Environment Robotics Developer Studio
26
ContentsIntroduction1. SAUVIM Design2. Aut. Manipulation3. Maris 7080 Robot4. Target Localization5. Course Topics6. RDS7. Course Organiz.Examples
Simulation EnvironmentRobotics Developer Studio
27
RDS: main featuresKinematic and dynamic modeling of any
generic mechanical systems (open and branched chains).
Fully integrated in the Matlab™/Simulink™ environment.
Automatic C code generation, highly optimized and ready to download on a external hardware device.
Easy-to-use graphical interface, developed for Windows NT-2000-XP™ operating systems.
Holonomic joints up to 6 degrees of freedom.Run-time specification of physical parameters
(mass, lengths …), useful for systems identification.
High-level expression editor for creating user defined Simulink blocks.
ContentsIntroduction1. SAUVIM Design2. Aut. Manipulation3. Maris 7080 Robot4. Target Localization5. Course Topics6. RDS7. Course Organiz.Examples
Simulation EnvironmentRobotics Developer Studio
28
RDS: Simple application example
5 Degrees of freedom linear chain.
Link 1
Link 2
Link 3
Joint 1
Joint 2
Joint 3
Link 5
Joint 5
r2oj
ContentsIntroduction1. SAUVIM Design2. Aut. Manipulation3. Maris 7080 Robot4. Target Localization5. Course Topics6. RDS7. Course Organiz.Examples
Simulation EnvironmentRobotics Developer Studio
29
RDS: Expression EditorHigh-level interface useful to create blocks
which input-output relation is definable by the user.
The relation may involve any kinematical or dynamical matrix of the system, such as transformation matrixes, jacobians etc.
Example: a block that computes the generalized velocity of the end-effector of a 4-links structure:
p0,0,05,10,1 J
ContentsIntroduction1. SAUVIM Design2. Aut. Manipulation3. Maris 7080 Robot4. Target Localization5. Course Topics6. RDS7. Course Organiz.Examples
Simulation EnvironmentRobotics Developer Studio
30
RDS: Vehicle SimulationRDS can model more general mechanical
systems than robots.The following example is an overall simulation of the vehicle with the arm, in empty space and without gravity.
ContentsIntroduction1. SAUVIM Design2. Aut. Manipulation3. Maris 7080 Robot4. Target Localization5. Course Topics6. RDS7. Course Organiz.Examples
ME696- Advanced RoboticsOrganization
31
Course Organization
Course Schedule: Tue-Thu, 3:00 PM – 4:15 PMInstructor: Dr. Giacomo MaraniOffice: Holmes 202Office Hours: Mon-Fri, 3:00 PM – 5:00 PMTel.: 956-2863e-mail: [email protected]: http://www2.hawaii.edu/~maraniCredits: 3, letter gradePrerequisites: MATH 407, and ME452; or consentTextbook: Course notesGrade Evaluation:
Homework Assignments: 70% Project: 30%
ContentsIntroduction1. SAUVIM Design2. Aut. Manipulation3. Maris 7080 Robot4. Target Localization5. Course Topics6. RDS7. Course Organiz.Examples
32
ContentsIntroduction1. SAUVIM Design2. Aut. Manipulation3. Maris 7080 Robot4. Target Localization5. Course Topics6. RDS7. Course Organiz.Examples
ExamplesVideo clips of SAUVIM Demos
SAUVIM DemosSD001 - SD024SD001
MOM Maximization Disabled
(Sim.Demo)
SD002
MOM Maximization Enabled
(Sim.Demo)
SD003
Collision Detection (Simulative Demo)
SD004
Task Position Priority (Sim.Demo)
SD005
Vehicle Navigation (Old Sim. Demo)
SD006
Arm Drawing, 2001 Demo (Simulation)
SD007
Arm Drawing, 2001 Demo
SD008
SAUVIM Extraction (Unpainted Fairing)
SD009
Writing `Welcome` (Extended)
SD010
Writing `Welcome`
SD011
Test Tube with Ultras. Tracker (Ex)
SD012
Test Tube with Ultrasonic Tracker
SD013
Particular of Docking Sequence
SD014
Particular of Undocking Sequence
SD015
Drawing `Smiley` (Internship Prog.)
SD016
First Navigation
SD017
2005 Internship Presentation
SD018
Underwater Plug, Ex. (Demo 01, 2004.05)
SD019
Underwater Plug (Demo 01, 2004.05)
SD020
Chessboard Tracker (D02, 2005.09.30)
SD021
Cable Cutting (D03, 2005.10.20).
SD022
Cable Hooking (D04, 2006.04.26)
SD023
Cable Hooking, Hi-R (D05, 2006.10.26)
SD024
Auton. Navigation (D06, 2007.07)
MOM Maximization Disabled (Simulative Demo)SD001
MOM Maximization Enabled (Simulative Demo)SD002
Collision Detection (Simulative Demo)SD003
Task Position Priority (Simulative Demo)SD004
Arm Drawing, 2001 DemoSD007
Writing `Welcome`SD010
Test Tube with Ultrasonic TrackerSD012
Drawing `Smiley` (Internship Program)SD015
2005 Internship PresentationSD017
Underwater Plug (Demo 01, 2004.05)SD019
Underwater Demo #2Deploying an object
Localizing a chessboard
• The arm picks the object to deploy from the vehicle
• The arm the arm scans around in order to look for the chessboard
• Once the chessboard is detected, the arm deploys the object over it.
Chessboard Tracker (Demo 02, 2005.09.30)SD020
Underwater Demo #3Cutting the cable
Localizing and cutting a cable
• The arm scans around in order to look for the ball
• Once the ball is detected, the arm attempts to position the gripper about 5 inches over the ball.
• When no movement is detected from the camera-arm system, the arm proceeds cutting the cable (open gripper, move forward of 2 inches, close gripper).
Cable Cutting (Demo 03, 2005.10.20)SD021
Cable Hooking (Demo 04, 2006.04.26)SD022
Target recovery
• The arm scans around in order to look for the target
• Once the target is detected, the arm attempts to clamp the hook (tied to a cable) in between the 2 spheres.
Underwater Demos #4-5:Recovery operation
(October 2006)
Cable Hooking, Hi-Res (Demo 05, 2006.10.26)SD023
Autonomous Navigation (Demo 06, 2007.07)SD024
End of presentation
[Template]SD0