On 10/26/15 10:17 AM, andy pugh wrote: > On 26 October 2015 at 15:43, Sebastian Kuzminsky <[email protected]> wrote: > >> I don't understand what problem you're solving, or what your solution >> entails. Can you give more details? >> > > John has suggested some scenarios. Here is another (based on the forum > query that prompted the investigation). > > A robot arm can be in any initial position, and it is unlikely that you can > guarantee that a full motion sweep of each axis will avoid the robotic > equivalent of a boom strike. > > The robot in question has a potentiometer in each joint as well as an > encoder. > > Encoder edges happen at 10, 20, 30, 40, .... 360 degrees. So you can, in > theory, index home with a maximum of 5 degrees motion of each joint. > > If the homing sequence begins with the home switch input hal-wired shut > then the robot will home to the next index[1]. But each index has a > different HOME_OFFSET. > Now imagine that the potentiometer voltage is fed into a "lincurve"[2] with > a stair-step function to give 10,20... degrees for the output, and that > value is sent to the new home-offset pin. Indexis found and the system > believes itself to be now homed and at the new position.
My robot arm has the "some starting poses cause a crash during homing" problem, but lacks the potentiometers to implement this clever solution. I'd welcome a PR with a fix for the problem (including documentation & tests). -- Sebastian Kuzminsky ------------------------------------------------------------------------------ _______________________________________________ Emc-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-developers
