robotic_manipulators
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
robotic_manipulators [2016/07/21 11:06] – joaomatos | robotic_manipulators [2016/08/06 23:28] (current) – joaomatos | ||
---|---|---|---|
Line 1: | Line 1: | ||
===== Robotic Manipulators Basics ===== | ===== Robotic Manipulators Basics ===== | ||
+ | **Author:** Joao Matos Email: < | ||
+ | \\ | ||
+ | **Date:** Last modified on 6/8/2016 | ||
+ | \\ | ||
+ | **Keywords: | ||
+ | \\ | ||
+ | |||
This page is to introduce the theory behind the robotic manipulators. It will be used the Denavit-Hartenberg parameters notation to describe the geometry of a serial chain of links and joints (Serial-Link).Using the robotic toolbox developed by Peter Corke (RVCtoolbox) we can visualize and understand more about the Denavit-Hartenberg parameters and how the process of the inverse kinematics works. | This page is to introduce the theory behind the robotic manipulators. It will be used the Denavit-Hartenberg parameters notation to describe the geometry of a serial chain of links and joints (Serial-Link).Using the robotic toolbox developed by Peter Corke (RVCtoolbox) we can visualize and understand more about the Denavit-Hartenberg parameters and how the process of the inverse kinematics works. | ||
Line 45: | Line 52: | ||
**Four steps and rules to define the frame on each joint ** | **Four steps and rules to define the frame on each joint ** | ||
- | - You will define the z axes as the joints rotation axes. Start drawing only the z axis on all your joints, starting from z(0) at the base and going to z(....) at the end effector . DON'T FORGET that the z axis of the end effector must be in the same direction of the z axis of the last joint. | + | - You will define the z axes as the joints rotation axes (CCW). Start drawing only the z axis on all your joints, starting from z(0) at the base and going to z(....) at the end effector . DON'T FORGET that the z axis of the end effector must be in the same direction of the z axis of the last joint. |
- | - Now you will draw the x axes , the x axis must be perpendicular to both z(j-1) and z(j). Do it for every joint. If you have more than one direction that satisfy this condition , you can choose the direction that goes from z(j-1) to z(j) axes. DON'T FORGET that the x axis of the end effector must be in the same direction of the x axis from the last joint | + | - Now you will draw the x axes , the x axis must be perpendicular to both z(j-1) and z(j). Do it for every joint. If you have more than one direction that satisfy this condition , choose the direction that goes from z(j-1) to z(j) axes. DON'T FORGET that the x axis of the end effector must be in the same direction of the x axis from the last joint |
- Now you will draw the y axes.The y axis must follow the right hand rule , from z axis to x axis. And don't forget that the y axis of the end effector must be in the same direction of the y axis of the last joint. | - Now you will draw the y axes.The y axis must follow the right hand rule , from z axis to x axis. And don't forget that the y axis of the end effector must be in the same direction of the y axis of the last joint. | ||
- Now that you drawn the three axis on every joint , you must check if the x(j) axis intersect the z(j-1) axis. To your DH notation be right , every x(j) axis must intersect the z(j-1) axis. If you don't have this , you must translate your (j) frame , in order to guarantee this intersection. | - Now that you drawn the three axis on every joint , you must check if the x(j) axis intersect the z(j-1) axis. To your DH notation be right , every x(j) axis must intersect the z(j-1) axis. If you don't have this , you must translate your (j) frame , in order to guarantee this intersection. | ||
Line 55: | Line 62: | ||
- | * **(aj)**: Is the displacement along the xj axis between the center of the frame (j-1) and frame (j). | + | * **(aj)**: Is the displacement along the xj axis DIRECTION |
* **(αj)**: Is the Rotation around the xj axis that make the axis z(j-1) and z(j) to match each other. | * **(αj)**: Is the Rotation around the xj axis that make the axis z(j-1) and z(j) to match each other. | ||
- | * **(dj)**: Is the displacement along the z(j-1) between the center of the frame (j-1) and frame (j). | + | * **(dj)**: Is the displacement along the z(j-1) |
* **(θj)**: If you have only revolute joints , you can call them q1, | * **(θj)**: If you have only revolute joints , you can call them q1, | ||
Line 82: | Line 89: | ||
| | ||
- | {{ ::eixos_e_distancias.jpg?direct |}} | + | {{ ::novos_frames.jpg?direct |}} |
** Defining the Frames ** | ** Defining the Frames ** | ||
Line 94: | Line 101: | ||
| | ||
{{ :: | {{ :: | ||
- | 5-> | + | 5-> |
{{ :: | {{ :: | ||
+ | | ||
+ | {{ :: | ||
+ | |||
+ | |||
+ | ---- | ||
Line 277: | Line 289: | ||
L1=11; | L1=11; | ||
- | L2=14; | + | L2=15; |
- | L3=8.5; | + | L3=10; |
L4=21; | L4=21; | ||
L5=8; | L5=8; | ||
pi=3.1416; | pi=3.1416; | ||
- | L(1)=Link([0 -L1 0 pi/2 0]); | + | q0=[0 0 0 0 0]; |
- | L(2)=Link([0 0 -L2 0 0]); | + | |
- | L(3)=Link([0 0 -L3 0 0]); | + | L(1)=Link([0 -L1 0 -pi/2 0]); |
- | L(4)=Link([0 0 0 -pi/2 0]); | + | L(2)=Link([0 0 L2 0 0]); |
+ | L(3)=Link([0 0 L3 0 0]); | ||
+ | L(4)=Link([0 0 0 pi/2 0]); | ||
L(5)=Link([0 -(L4+L5) 0 0 0]); | L(5)=Link([0 -(L4+L5) 0 0 0]); | ||
Line 292: | Line 306: | ||
DaslArm=SerialLink(L,' | DaslArm=SerialLink(L,' | ||
- | DaslArm.teach() | + | DaslArm.teach(q0) |
</ | </ | ||
- | {{ ::teach_serial.jpg?direct |}} | + | {{ ::novoteach.jpg?direct |}} |
The teach command will create a window that allow you to change the q1, | The teach command will create a window that allow you to change the q1, |
robotic_manipulators.1469124399.txt.gz · Last modified: 2016/07/21 11:06 by joaomatos