Department: FTI-FHO-FPT Presenter: Pham Van Trung

Slides:



Advertisements
Similar presentations
Introduction to Robotics cpsc - 460
Advertisements

08/2012Tanya Mishra1 EASYC for VEX Cortex Llano Estacado RoboRaiders FRC Team 1817.
Outline: Introduction Link Description Link-Connection Description
Introduction University of Bridgeport 1 Introduction to ROBOTICS.
University of Bridgeport
Denavit-Hartenberg Convention
Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal.
Animation Following “Advanced Animation and Rendering Techniques” (chapter 15+16) By Agata Przybyszewska.
Forward Kinematics. Focus on links chains May be combined in a tree structure Degrees of Freedom Number of independent position variables (i.e. joints.
1 CMPUT 412 Actuation Csaba Szepesvári University of Alberta TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A.
Control Design to Achieve Dynamic Walking on a Bipedal Robot with Compliance Young-Pil Jeon.
ME Robotics Dynamics of Robot Manipulators Purpose: This chapter introduces the dynamics of mechanisms. A robot can be treated as a set of linked.
The City College of New York 1 Dr. Jizhong Xiao Department of Electrical Engineering City College of New York Kinematics of Robot Manipulator.
Introduction to Robotics
Introduction to Robotics Kinematics. Link Description.
Angular Motion. Measuring a Circle  We use degrees to measure position around the circle.  There are 2  radians in the circle. This matches 360°This.
Introduction to ROBOTICS
Mobile Robotics: 10. Kinematics 1
Manipulator Dynamics Amirkabir University of Technology Computer Engineering & Information Technology Department.
Serial and Parallel Manipulators
Introduction to ROBOTICS
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.
Inverse Kinematics Jacobian Matrix Trajectory Planning
Introduction to ROBOTICS
KINEMATIC CHAINS AND ROBOTS (III). Many robots can be viewed as an open kinematic chains. This lecture continues the discussion on the analysis of kinematic.
Definition of an Industrial Robot
Introduction to Robotics and ASU Robots Yinong Chen (Ph.D.) School of Computing, Informatics, and Decision Systems Engineering.
February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Computational Considerations.
Effectors and Actuators Key points: Mechanisms for acting on the world ‘Degrees of freedom’ Methods of locomotion: wheels, legs and beyond Methods of manipulation:
Kinematics geometry extensions for delta robots - RSLogix 5000 V16.03
Kinematics of Robot Manipulator
Lecture 2: Introduction to Concepts in Robotics
Mehdi Ghayoumi MSB rm 160 Ofc hr: Thur, 11-12:30a Robotic Concepts.
Chapter 2 Robot Kinematics: Position Analysis
Inverse Kinematics.
Rotational Motion Learn how to describe and measure rotational motion. Learn how torque changes rotational velocity. Define center of mass and the conditions.
1 Fundamentals of Robotics Linking perception to action 2. Motion of Rigid Bodies 南台科技大學電機工程系謝銘原.
Chapter 8: Rotational Kinematics Essential Concepts and Summary.
Angular Kinematics of Human Movement
Kinematics Jehee Lee Seoul National University. Kinematics How to animate skeletons (articulated figures) Kinematics is the study of motion without regard.
SCARA – Forward Kinematics
Review: Differential Kinematics
Chapter 7: Trajectory Generation Faculty of Engineering - Mechanical Engineering Department ROBOTICS Outline: 1.
Robot Kinematics: Position Analysis 2.1 INTRODUCTION  Forward Kinematics: to determine where the robot ’ s hand is? (If all joint variables are known)
Kinematics. The function of a robot is to manipulate objects in its workspace. To manipulate objects means to cause them to move in a desired way (as.
ROBOT VISION LABORATORY 김 형 석 Robot Applications-B
Chapter 3 Differential Motions and Velocities
1cs426-winter-2008 Notes. 2 Kinematics  The study of how things move  Usually boils down to describing the motion of articulated rigid figures Things.
Mehdi Ghayoumi MSB rm 132 Ofc hr: Thur, 11-12:30a 160 Robotic Concepts.
Robotic Arms and Matrices By Chris Wong and Chris Marino.
Robotics Chapter 3 – Forward Kinematics
Kinematics 제어시스템 이론 및 실습 조현우
Chapter 10 - Rotational Kinematics
Minor Project - Human Interaction Robot Arm
Direct Manipulator Kinematics
Programming Concepts (Part B) ENGR 10 Introduction to Engineering
Zaid H. Rashid Supervisor Dr. Hassan M. Alwan
Introduction to manipulator kinematics
Special English for Industrial Robot
University of Bridgeport
Special English for Industrial Robot
Basic Biomechanics, (5th edition) by Susan J. Hall, Ph.D.
Outline: 5.1 INTRODUCTION
Basilio Bona DAUIN – Politecnico di Torino
Outline: 5.1 INTRODUCTION
Special English for Industrial Robot
Special English for Industrial Robot
Chapter 4 . Trajectory planning and Inverse kinematics
Warm-Up 9/18/13 Consider the path taken by a person crossing the river. What color arrows describe the distance of his trip? The displacement?
Maker Education Manipulator
Presentation transcript:

Department: FTI-FHO-FPT Presenter: Pham Van Trung INTRODUCTION TO MOTION GENERATION FOR NAO ROBOT USING ANDROID FRAMEWORK Department: FTI-FHO-FPT Presenter: Pham Van Trung

Motor Stiffness Control OUTLINE 1 Introduction 2 Motor Stiffness Control Joint Angle Control 3 4 Position Control 5 Locomotion Control 6 Question and Comment

Introduction Robot Models

Introduction Humanoid robot Have human model Capable to perform as human

Introduction NAO Humanoid Robot

Introduction Motions of NAO Robot How to move an arm or a leg to a position? Forward kinematic Inverse kinematic How to locate a position of the robot?

Introduction NAO Motion Module on Android Framework Control Stiffness of Joint Motor Control Joint Angle Control Effector Position in Cartesian Coordinate Locomotion control

Stiffness Control What is stiffness? Basically, stiffness is a torque that a motor of joint can generate Stiffness value relatively defined 0.0 to 1.0 Functions to control and manage stiffness Globally, on the whole robot using:  RobotMotionStiffnessController. wakeUp (Robot robot) RobotMotionStiffnessController. rest (Robot robot) Specifically, for one or several joint(s) using:  RobotMotionStiffnessController. stiffnessInterpolation (Robot robot, String[] names, float[] stiffnesses, float[] times) float[] RobotMotionStiffnessController. getStiffnesses (Robot robot, String name ) RobotMotionStiffnessController. setStiffnesses (Robot robot, String[] names, float[] stiffnesses)

Stiffness Control Example Using setStiffnesses() names – Name or names of joints or chains: “Body”, “JointActuators”, “Joints” or “Actuators”: HeadYaw, LShoulderPitch, LHipYawPitch, RHipYawPitch, RShoulderPitch, HeadPitch, LShoulderRoll, LHipRoll, RHipRoll, RShoulderRoll, LElbowYaw, LHipPitch, RHipPitch, RElbowYaw, LElbowRoll, LKneePitch, RKneePitch, RElbowRoll,LWristYaw, LAnklePitch, RAnklePitch, RWristYaw, LHand, RAnkleRoll, LAnkleRoll, RHand. Stiffnesses, stiffnessLists, – An stiffness, list of stiffnesses or list of list of stiffnesses. Range of stiffness value is within [0.0,1.0];

Joint Control What is joint control? Functions to control joint angles Rotate a joint motor by a exact given angle Forward kinematic control Functions to control joint angles Animation methods (time fixed, blocking function RobotMotionJointController. angleInterpolation (Robot robot, String[] names, float[] angles, float[] times, boolean isAbsolute) RobotMotionJointController. angleInterpolationWithSpeed (Robot robot,String[] names, float[] angles, float fractionMaxSpeed) Reactive methods (could be changed every ALMotion cycle, non blocking function) RobotMotionJointController. setAngles (Robot robot, String[] names, float[] angles, float fractionMaxSpeed) RobotMotionJointController. changeAngles (Robot robot, String[] names, float[] angles, float fractionMaxSpeed) RobotMotionJointController. closeHand (Robot robot, String hand) RobotMotionJointController. openHand (Robot robot, String hand)

Joint Control Example Using angleInterpolation () names – Name or names of joints, chains as mentioned in the section 1. angles – An angle, list of angles or list of list of angles in radians that will be varied. Range of angle variation is within [-3.14,+3.14] depending on an allowable range of a chosen joint. See more about joint of hardware specification. times – A time, list of times or list of list of times in seconds. It must be greater than zero. isAbsolute – If true, the movement is described in absolute angles in the default defined coordinate , else the angles are relative to the current angle.

Cartesian Control What is Cartesian control? Functions Move an effector (chain of joints) to a given position in a Cartesian coordinate Dealing with inverse kinematic problem Functions Animation methods (time fixed, blocking function RobotMotionCartesianController. positionInterpolation (Robot robot, String name, int space, RobotPosition6D[] positionList, int axisMask, float[] durationList, boolean isAbsolute) RobotMotionCartesianController. positionInterpolations (Robot robot, String[] names, int spaceForAll, RobotPosition6D[] positionList, int[] axisMaskList, float[] durationList, boolean isAbsolute) Reactive methods (could be changed every ALMotion cycle, non blocking function) RobotMotionCartesianController. setPosition (Robot robot, String name, int space, RobotPosition6D position, int axisMask, float fractionMaxSpeed) RobotMotionCartesianController. changePosition (Robot robot, String name, int space, RobotPosition6D positionChange, int axisMask, float fractionMaxSpeed)

Cartesian Control Example Using positionInterpolation () Name – Name of the chain. Could be: “Head”, “LArm”, “RArm”, “LLeg”, “RLeg”. space – Task space {FRAME_TORSO = 0, FRAME_WORLD = 1, FRAME_ROBOT = 2}. positionList – Vector of 6D position arrays (x,y,z,wx,wy,wz) in meters and radians. axisMask – Axis mask. True for axes that you wish to control. e.g. 7 for position only, 56 for rotation only and 63 for both. durationList – Vector of times in seconds corresponding to the path points. isAbsolute – If true, the movement is absolute else relative. Robot – is a connected robot. This variable is retrieved by calling the function Robot. getRobot().

Locomotion Control What is Locomotion control? Move a robot in local place Functions to manage walking RobotMotionLocomotionController. moveTo (Robot robot, RobotMoveTargetPosition target) RobotMotionLocomotionController. setWalkTargetVelocity (Robot robot, RobotMoveTargetPosition target, float speed) RobotMotionLocomotionController. moveIsActive() RobotMotionLocomotionController. stopMove() RobotMotionLocomotionController. getRobotPosition (const bool& useSensors) RobotMotionLocomotionController. getNextRobotPosition() RobotMotionLocomotionController. getRobotVelocity()

Locomotion Control Examples SetWalkwithVelocity() MoveTo() x – Fraction of MaxStepX. Use negative for backwards. [- 1.0 to 1.0] y – Fraction of MaxStepY. Use negative for right. [-1.0 to 1.0] theta – Fraction of MaxStepTheta. Use negative for clockwise [-1.0 to 1.0] Frequency  – Fraction of MaxStepFrequency [0.0 to 1.0] MoveTo() x – Distance along the X axis in meters. y – Distance along the Y axis in meters. theta – Rotation around the Z axis in radians [-3.1415 to 3.1415].

Questions and Comments Thank for Your Attention