I started working on a modification to homing.c so you can home a gantry style machine properly I have started working on it but have more work before i find how many bugs I created in the process. It adds a option to link 2 joints together. The joints will home themselves one at a time while maintaining the same velocities. Quite a few commercial machines can do this out of the box and I think EMC should too.
Ideally I don't want to touch what already works and think the best solution is to introduce custom homing modules (simple, gantry, crazymach) which can do coordinated motion if needed. Although this seems like the most configurable + ideal way it's also is the most work :( This way *seems* simple with minimal changes. This is the basic plan so far.....What do you think, good/bad idea? is it useful to anyone? or should I go a completely different method. Plan - Add a HOME_LINK_JOINT property to the joints. This property defines which joint is linked linked to it. - It will at all times will insure both joints move together. (Const vel at least) - The first joint to come into contact with it's switch will put the second into a HOME_LINK_WAIT waiting state. - While the second is in the waiting state the first will complete it's home and follow all of it's moves. - The move following is done in the home_start_move() funtion - Once the first joint has come to a complete stop after homing it will be sent to HOME_FINISHED state. Now it will set the second joints state to HOME_START - The second joint will now follow the first until it also hits the HOME_FINISHED state - The joints will check each other see they are both completed and sets the HOMING flag off and HOMED true...etc... Error Checking - Must check all velocities, accels, etc.. are equal between joints, if not it's a warning and use the smallest values from the two. - Joints which are linked must have the same home_sequence. If not it is a critical error and quit - Joints can only link to 1 other joint, and that joint can only link back to the orig. (e.g. cannot link 3 or have some kinda chain.. Simplicity) Requirements - Make minimal changes to the homing configuration. - Don't break working home procedures...! - Allow all current home methods even if the 2 linked joints use a different procedure. - Up to user to specify home offset values to adjust for table skew and. - Doesn't matter which joint homes first - Always stay in sync. - An error in one will trip the other ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers