|
Slide Show
Video Clips
Construction
Servo Pack
Related Links
Kinetics Facility
Display Case
|
|
Humerus Labor
Motion control in Kinetics and related fields of art and design is gradually becomming more accessible to non-specialists. Better contollers and a growing base of experimenters writing open software are making devices which are increasingly capable of gestural and expressive movement which appeals to the eye and the brain. What the term motion control means and how one might go about achieving it are questions best answered by studying worked-out implementations. This is the purpose of Humerous Labor. No one believes we need another robot arm. What we do need is a context of implementation of some inevitable ideas which may not be familiar to practioners of technological art making. There's always a dozen different ways to design something, and design choices in art always reflect personal priorites. The field of motion control is big enough that no single example of practice could express all its possibilities, but a single worked-out case can anchor a dozen conversations. What is motion control? One answer might be that it's what makes a robot arm go. Humerus Labor, HL (approximately Latin for robot arm) is a three degree of freedom manipulator. As HL is programmed here, it is a path following, or playback robot. The context in which HL is displayed is a whimsical, amusing, and thought provoking display of one direction in which robotic hardware could be applied to art making. [The installation went operational Mar 13, 03. and ran daily for three weeks.] HL is being designed and built in the Kinetics and Electronics lab of the ATS department in the basement of the 112 building. Call or stop by (x53501).
While the manipulator is engaging to view as an object, it is actually a collection of ATS research projects which feed new capabilities into the facility and the curriculum. The thrust of the research is primarily in the field of mechatronics. Mechatronics is the intersection of electronics, computer programming, and precision structural and mechanical design and fabrication. The word mechatronics is primarily of European usage, however it is a good fit here because it emphasizes that traditional robotics is only one application for these practices.
The major novelty of HL and its most challenging set of technical issues is the area of motion control. HL defines its world as a 3-D cartesian space with X, Y, and Z coordinates. The X coordinate axis runs the direction of the hallway, the Y direction is toward the elevators, and Z is up and down. This robot has three degrees of freedom, base rotation, shoulder rotation, and elbow flexion. It's tip moves in three-space. So Humerus labor has three axes and three degrees of freedom. Although this is the simplest case for a robot arm, tying the motion of the motors to this representation of space is not a trivial exercise.
The problem is a mathematical one which, is solved routinely for indusrtial robot arms. It goes like this. First you make a table of all the joint rotations and lengths in your arm. Then you develop equations that tell you how much and in what direction the tip of the arm moves for motion at each joint. This is the forward kinematics. Then you take those equations and convert them into a form called "roation matrixes" (or matricies), and multiply the rotation matrix for each joint by the one next to it. This give you one matrix which relates all the joint positions to the x, y, and z coordinates of the tip of the arm. This is still forward kinematics. You also need to know at all times while the robot is moving what the effect of moving the tip of the arm would have on the joint positions. This is called inverse kinematics and is more difficult to obtain. Basically you take your forward kinematc matrix and differentiate it with respect to time. This results in what is called the Jacobian matrix. It relates the speed of the joint movements to the speed and direction of the tip of the arm. This is still forward kinematics. To do the inverse kinematics you invert the Jacobian matrix then you multiply that by a vector representing how fast you want to be going in the x, y, and z directions. From that multiplication you get another vector that contains the speed for the base, shoulder, and elbow motors. The other thing which is always going on is that you are always looking at where you want the tip of the arm to go, versus where it is now. From that you get your steering information. The term used to describe this method of controlling a robot arm's tip position, speed, and direction is called Resolved Motion Rate Control, or RMRC.
There's more to this, of course, like the method for making the forward kinematic matrixes by using the Denavit-Hartenburg convention for describing maniulator geometry, and finding a way to automate some of the math, but that's it in a nutshell. The software is written in Java and running on Linux. One of the programs allows a user to move the robot, operate the gripper located at the end of the arm, and record the points in space. This is referred to as "teaching" a motion path. The path can then be edited and played back at will. We call this whole process of creating expressive gestures and movements "scripting".
Humerus Labor is designed by Ed Bennett (sbennettSYMBOLartic.edu, x53686), software by Jon Fisher (jonSYMBOLkudodesign.com). Thanks to David Juros for fabrication and Jim Christopher (jchristoSYMBOLartic.edu) for help with the linear algebra and calculus.
|