help to set up the kinematics
- step4linux
- Offline
- Premium Member
- Posts: 115
- Thank you received: 5
But sometimes there is a confusion about axis and joints.
Also emc is not consistent, because what is called axis in ini, its in reality joint.
Only for a trivial kinematic, its equal, and for this there is fixed relation in trivkin (joint 0 = axis x, joint 1 = axis y etc).
In hal the joints are connected to a real motor driver.
When you say "My robot work correctly when i use the manual mode", do you use joint or world mode ?
Gerd
Please Log in or Create an account to join the conversation.
Ok, I have used genserkins module and I set it with the parameters of my robot. But i have a problem.... my axis x not corresponds to joint 0 as well as axis y to joint 1 and so on...!! Where and how i can make the right corrispondence? i must create some lines in hal for resolve this problem?
I am not sure what you mean here.
In "Joint mode" you should be able to move the individual joints as "Joint 1", "Joint 2" etc.
In "World Mode" the end of the arm should move in cartesian X-Y-Z (and possibly A B C) space, with all the joints moving together to achieve this.
You swap between Joint mode and World mode using the "$" key.
Your HAL file should set the correct Denavit-Hartenberg parameters for your particular robot, but that has nothing to do with allocating joints to axes, that isn't what Kinematics does. Kinematics trtansforms motion in a single axis, or simultaneous motion of several axes into the coordinate motion of all the joints that need to move. (Or, in joint-mode jogging, it calculates the current position of the end-effector in Cartesian X-Y-Z space from the joint positions.
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
Which interface do you use? If it's AXIS, pressing Shift-4 in manual tab lets you switch between joint and world modes. What happens when you try to jog in world mode?
Please Log in or Create an account to join the conversation.
Yes, i use AXIS interface. When i use joint mode my robot works in manual control ( I am be able to move every single joint) but doesn't in mdi or auto. When I switch to world mode i have in the interface axes XYZABC but I am unable to move my robot either in manual control or with mdi commands.
Please Log in or Create an account to join the conversation.
By the way, you might try new configurations with robot disconnected from the PC, for safety reasons.
Please Log in or Create an account to join the conversation.
It seems to have problems in the kinematics parameters. If you look in dmesg you will find thousands of error messages.
I think you need to look very carefully at you D-H parameters.
An (possibly unrelated) problem, I think, is that the joins are not in sequence in the Puma visualisation tool.
In genserkins the joints need to be defined in sequence from the base to the end-effector. That is what Serial Kinematics means. Then the D-H parameters need to be correct and consistent. I don't actually know how to do that bit, it has never been relevant.
Have you see the video here?
Please Log in or Create an account to join the conversation.
In genserkins the joints need to be defined in sequence from the base to the end-effector. That is what Serial Kinematics means. Then the D-H parameters need to be correct and consistent. I don't actually know how to do that bit, it has never been relevant.
This is the problem that i thought! Now I have defined joints in sequence from the base to the end-effector.
When I use world mode and I try to move robot in manual control, this error message appear. " Need to be enabled, in teleop mode for teleop move" and "jointN following error". What means this?
It seems to have problems in the kinematics parameters. If you look in dmesg you will find thousands of error messages.
You can me explain better this?
Please Log in or Create an account to join the conversation.
That isn't a very clear error message, but looking in the source code it seems to indicate that motion might not be enabled on one or more axes.When I use world mode and I try to move robot in manual control, this error message appear. " Need to be enabled, in teleop mode for teleop move"
I think it means that the motion.enable pin is not being set TRUE in your HAL file, or might be a consequence of the next error..
This means that the axis in question can't keep up with the requested motion. With a stepper based system like yours it means that the stepgen can't move fast enough to keep up with the required speed (or that the stepgen isn't even enabled)"jointN following error". What means this?
You can me explain better this?It seems to have problems in the kinematics parameters. If you look in dmesg you will find thousands of error messages.
EMC2 sends error messages to the system error log, which you can view in the terminal by typing "dmesg"
I found that my system actually locked up because so many errors were being sent to dmesg by your original config, many thousands of messages stating that the kinematics module couldn't find a solution to the requested movement commands.
if you open a terminal from the accessories menu, then you can type "dmesg" while EMC2 is running to get some clues what is wrong.
Please Log in or Create an account to join the conversation.