-
Notifications
You must be signed in to change notification settings - Fork 74
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Custom homing for scara kinematics #348
Comments
WIll you create a PR for that? I guess you already have noticed that I have moved the kinematcis implementations to the kinematics folder... You can modify homing behavoiur to some extent via the existing callbacks and events. I had to modify one event signature for the delta kinematics, perhaps further modifications, events and callbacks are needed as well? And possibly new settings too? I have set aside ten settings id's for kinematics implementations, feel free to use them for whatever kind of settings you need. Perhaps the latest homing code for the delta robot can give you some ideas for for how to proceed? E.g. I redirect the |
Nice, thanks for the tips. I will try to get the homing working and do some more tests before I create a pull request. You will see that show up when I reach that point |
Hey, I am kind of stuck and starting to make a mess of things. I have pushed my latest version here in which I added some configurable options, but most of the homing functions are completely wrong. I am having a hard time trying to understand the homing functions and I can not figure out how to implement the things I need. The following things are going wrong:
If you could offer some help, I would greatly appreciate it. For reference, this image may help to understand my scara robot configuration: Also, when the robot starts up, I want it to assume an initial position with a 90-degree elbow. Otherwise, the robot is in a singularity which results in problematic kinematics. For that, I would overwrite the And lastly, sorry if I am using GitHub incorrectly. I have not committed to someone else's code before. If you prefer this to be in a pull request, let me know. |
Homing is complicated... For the delta robot I have subscribed to some core events in order to modify parameters on the fly. See the attached file in this comment for what I have done this far.
Since the position counters represents steps/radian I had to modify the target positions accordingly. I do that by subscribing to In
The above "hack" was to work around not knowing the current position, could it work for you as well? Soft and jog limits handling for non cuboid work envelopes needs core changes - I will add those later. |
Thanks, I copied your new delta kinematics and tried that. Now at least the z homing seems to work, but the pull-off move between seeking and locating is extremely slow. Like around 1 mm per minute, while other moves are at 100mm/min. Any idea what might be causing that? Also, could you maybe give a rough outline of the homing process? Like I am setting a target position now but I can not really figure out how this influences the homing cycle. Can this be used to couple/sync the motor moves? And about the |
You need to transform the feedrate from mm/min to degrees/min?
There are four phases:
Motion is relative to
Assuming anything about the robot is not a good idea? It is possible to configure the controller to force homing on startup, IMO the safest option. BTW a new In the latest commit I have changed the signature of a kinematic function and added some new core events/handlers in order to make it easier to implement a kinematics driver. Major changes is that it is now possible to add functions to handle soft limits and jog constraining to non-rectangular work envelopes. It is also possible to write a completely custom homing function that overrides the default one. Some of these changes are already made use of in the latest delta robot kinematics code. |
This also applies to the z-axis, which is linear. And only applies during the pulloff move. Not sure what is going on here.
This works great so I have reverted my changes to the kinematics API. And thanks for the explanation of the homing process. I seem to be a bit closer to a working homing cycle but I am not too confident that I will get it working soon. Then the coupling of the motors during homing is a whole other challenge. I guess for the time being I will keep using the robot without a homing cycle. |
Hi, I noticed the recent addition of more kinematics. Therefore this might be a good moment to merge my scara kinematics. This is tested and works nicely. However, I have not yet implemented homing abilities and I want to move some things to configurable settings.
My scara robot uses a parallelogram configuration. This makes homing more complicated because the allowed angle difference between both links is limited. Otherwise, the parallelogram folds flat and intersects with itself. So my planned homing cycle was as follows:
I could configure this as 2 separate homing cycles. However, then I need individual pull-off distances for each cycle. And I need an option to couple the motors for the first homing cycle.
Do you have any tips on how to implement this? or perhaps you have an alternative suggestion?
The text was updated successfully, but these errors were encountered: