ece4560:maniplots
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| ece4560:maniplots [2015/02/23 19:37] – [Lynx6] pvela | ece4560:maniplots [2024/08/20 21:38] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Plotting/ | ====== Plotting/ | ||
| - | This site has links to display code for the different manipulators as well as implementation examples. | + | This site has links to display code for the different manipulators as well as implementation examples. |
| ===== Simple Planar Manipulators ===== | ===== Simple Planar Manipulators ===== | ||
| -------------------------------------- | -------------------------------------- | ||
| - | The manipulators to appear in the homework range from a simple R2 manipulator up to an R4 manipulator. | + | The manipulators to appear in the homework range from a simple R2 manipulator up to an R4 manipulator. |
| - | * Planar R2 (default link lengths: 1, 3/4) | + | * '' |
| - | * Planar R3 (default link lengths: 1, 1/2, 1/4) | + | * '' |
| - | * Planar R4 (default link lengths: 1, 1, 1/2, 1/4) | + | * '' |
| Invocation is pretty straightforward. | Invocation is pretty straightforward. | ||
| Line 15: | Line 15: | ||
| planarRX_display(alphaJoints, | planarRX_display(alphaJoints, | ||
| </ | </ | ||
| - | although the second and third arguments are optional. | + | although the second and third arguments are optional. |
| + | <code matlab> | ||
| + | planarR2_display([pi/ | ||
| + | </ | ||
| + | Note that the argument is a vertical/ | ||
| + | <code matlab> | ||
| + | planarR2_display([pi/ | ||
| + | </ | ||
| + | or | ||
| + | <code matlab> | ||
| + | planarR2_display([pi/ | ||
| + | </ | ||
| + | Suppose that you had run '' | ||
| <code matlab> | <code matlab> | ||
| nframes = 100; | nframes = 100; | ||
| tvect = linspace(ti, | tvect = linspace(ti, | ||
| for tT = tvect | for tT = tvect | ||
| - | alphaT = interp1(tsol, | + | alphaT = transpose(interp1(tsol, |
| planarRX_display(alphaT, | planarRX_display(alphaT, | ||
| end | end | ||
| </ | </ | ||
| where it is assumed that '' | where it is assumed that '' | ||
| + | |||
| + | If you have issues, you can always type | ||
| + | <code matlab> | ||
| + | help planarRX_display | ||
| + | </ | ||
| + | with the proper X value and you will get some documentation (assuming that you kept the documentation m-files around). | ||
| ===== Piktul ===== | ===== Piktul ===== | ||
| ------------------ | ------------------ | ||
| - | The simplest manipulator to be used in the course is called **piktul** as named by the student who helped me design it. It is the simplest | + | The simplest manipulator to be used in the lab portion of the course is called **piktul** as named by the student who helped me design it. It is a basic instantiation of a SCARA manipulator; one that we could create using laser cut parts and RC servo motors. Piktul is a planar R3 manipulator where the last joint angle has no length, however it can also actuate vertically meaning that it can pick up and place things in a roughly planar landscape (you can think of it as being able to manipulate things at different heights, but within a horizontal slice). |
| + | |||
| + | The display function requires the SE3 class file to have been minimally coded in order to work. Minimal coding means the times, mtimes, leftact, and inv member functions. | ||
| + | <code matlab> | ||
| + | piktul_display(alphaJoints); | ||
| + | </ | ||
| + | Functional code is: | ||
| + | <code matlab> | ||
| + | piktul_display([1.25; | ||
| + | </ | ||
| + | which sets the height to 1.25, the revolute joints to (25, -35, 80), and the gripper to be 0.75 inches open. The piktul manipulator should be displayed with that joint configuration. | ||
| + | |||
| + | Matlab code: {{ECE4560: | ||
| ===== Lynx6 ===== | ===== Lynx6 ===== | ||
| ----------------- | ----------------- | ||
| - | The slightly more fully functional manipulator to be used in the course is called the **Lynx 6** manipulator made by [[http:// | + | The slightly more fully functional manipulator to be used in the course is called the **Lynx 6** manipulator made by [[http:// |
| + | <code matlab> | ||
| + | lynx6_display([10; | ||
| + | </ | ||
| + | The joint vector should be a column-vector and the revolute angles should be in degrees. | ||
| + | |||
| + | Matlab code: {{ECE4560: | ||
| + | |||
| + | ===== Elbow 6R ===== | ||
| + | ----------------- | ||
| + | |||
| + | The 6R elbow manipulator (6R means 6 revolute joints) is a kinematically sufficient manipulator for SE(3). | ||
| + | It is one of the most common designs found in industry (at least when working with kinematically sufficient manipulators). | ||
| + | |||
| + | <code matlab> | ||
| + | elbow6R_display([10; | ||
| + | </ | ||
| + | The joint vector should be a column-vector and the revolute angles should be in degrees. | ||
| + | Matlab code: {{ECE4560: | ||
| + | --------- | ||
| + | ;#; | ||
| + | [[ECE4560: | ||
| + | ;#; | ||
ece4560/maniplots.1424738238.txt.gz · Last modified: 2024/08/20 21:38 (external edit)
