From: Ray H. <re...@up...> - 2003-12-19 14:08:21
|
Hi Simon (comments mixed in) On Thursday 18 December 2003 11:05 pm, Simon M. Arthur wrote: > I tried posting this to the emc-users list, but got no replies so far. > I thought I'd try here. > > I've started building a hexapod on the cheap. Some photos: > http://www.tinyplanet.com/images/dscf0024-rotated-reduced.jpg > http://www.tinyplanet.com/images/dscf0025-reduced.jpg This arrangement looks much cleaner and more stable that the earlier one that you built. The paired, parallel or nearly so actuators looks quite a bit like the geometry used by Till in Model 1. > How can I set up EMC to work with the geometry of my machine? Kinematics is the key. There are a bunch of kinematic files in emc/src/emcmot. Let me quote from kinematics.h there. snippet----- KINEMATICS_IDENTITY means that the joints and world coordinates are the same, as for slideway machines (XYZ milling machines). The EMC will allow changing from joint to world mode and vice versa. Also, the EMC will set the actual world position to be the actual joint positions (not commanded) by calling the forward kinematics each trajectory cycle. KINEMATICS_FORWARD_ONLY means that only the forward kinematics exist. Since the EMC requires at least the inverse kinematics, this should simply terminate the EMC. KINEMATICS_INVERSE_ONLY means that only the inverse kinematics exist. The forwards won't be called, and the EMC will only allow changing from joint to world mode at the home position. KINEMATICS_BOTH means that both the forward and inverse kins are defined. Like KINEMATICS_IDENTITY, the EMC will allow changing between world and joint modes. However, the kins are assumed to be somewhat expensive computationally, and the forwards won't be called at the trajectory rate to compute actual world coordinates from actual joint values. -----end The relevant files have names that all end with a *kins.* I think that genhexkins is the general definition for Stewart like platforms. In genhexkins.h the following note heads the file. snippet----- This is the header file to accompany genhexkins.c. This header file is used to configure genhexkins.c to solve the kinematics for a particular Stewart Platform configuration. Defined are the parameters necessary to configure the functions to solve several different Stewart Platform configurations. To choose a particular configuration #define the configuration you are interested in and comment out any others. -----end There are several possible configurations shown there. "Your mission, should you choose to accept it ..." is to figure out how these sets of locations apply to your configuration. As you study them, post notes about your questions and I think that people can direct you to pictures that will help you see the geometry being described. > How do I tell EMC what the relationship is between steps in the stepper > motor and the length of the strut? The units that you set in the INI file are the units used by each strut in joint mode. This works the same way that it does for a Cartesian machine. Figure the number of microsteps*steps per turn*belt ratio*turns per unit and put that value in input scale -- both input and output scale if you use freqmod. > Is there a way to correct for inaccuracies in positioning? Yes. Emc has the ability to use both a single variable like temperature to compensate all axes and the ability to apply leadscrew compensation to each strut. In addition there is backlash compensation but there are a few issues with it yet. Ray |