upgrading PUMA 762 arm
08 May 2013 09:32 #33751
by btvpimill
upgrading PUMA 762 arm was created by btvpimill
I am going to convert a PUMA 762 arm to linuxCNC. This will be a slow process and I am not too good at build logs. But I will try and provide information as I go as well as ask for LOTS of help.
To start the ball rolling, there are 6 joints as you can prolly imagine. I already have 2 questions about this-
1) each joint has an encoder and a pot. From what I can tell, the pots are for a rough absolute position so it can home in 1 rev of the encoder. Will there be a way to support this?
2) All 6 joints are rotary, so any ideas what "axis" will need to be assigned? can I call XYZ or UVW angular instead of linear?
To start the ball rolling, there are 6 joints as you can prolly imagine. I already have 2 questions about this-
1) each joint has an encoder and a pot. From what I can tell, the pots are for a rough absolute position so it can home in 1 rev of the encoder. Will there be a way to support this?
2) All 6 joints are rotary, so any ideas what "axis" will need to be assigned? can I call XYZ or UVW angular instead of linear?
Please Log in or Create an account to join the conversation.
15 May 2013 19:20 #34128
by andypugh
You can probably use the Arduino comp as a relatively easy way to read the 6 analogue voltages, though there is a dedicated Mesa analogue input board too. Some Mesa cards have analogue input configurable on certain pins too, though I don't think that any have 6 inputs.
Persuading LinuxCNC to home to the pot+index sounds interesting. One option might be to use the analogue voltage as position feedback until the joint is homed, and use home-to-index. The switch the feedback (using a mux component) when the is-homed pin goes true. The question there is whether LinuxCNC can cope with an offset home. (What you would really need to do would be to direct a rounded-down verson of the analogue sensor position to the motion module as the HOME_POSITION, but I don't think that is possible).
If that can't be made to work, then you may need to add an integer number of revs to the feedback position. This may be tricky with f-error checking.
You might be able to integrate the pot values into Pumakins.
You control the actuator position in XYZ linear space, anf the Pumakins module does the clever stuff of calculating what joint angles are needed to put the actuator at that point in space.
Replied by andypugh on topic upgrading PUMA 762 arm
That sounds like a bit of a challenge, a challenge in two parts. First you have to get the analogue voltage into LinuxCNC, and then you have to get LinuxCNC to understand what to do with it.1) each joint has an encoder and a pot. From what I can tell, the pots are for a rough absolute position so it can home in 1 rev of the encoder. Will there be a way to support this?
You can probably use the Arduino comp as a relatively easy way to read the 6 analogue voltages, though there is a dedicated Mesa analogue input board too. Some Mesa cards have analogue input configurable on certain pins too, though I don't think that any have 6 inputs.
Persuading LinuxCNC to home to the pot+index sounds interesting. One option might be to use the analogue voltage as position feedback until the joint is homed, and use home-to-index. The switch the feedback (using a mux component) when the is-homed pin goes true. The question there is whether LinuxCNC can cope with an offset home. (What you would really need to do would be to direct a rounded-down verson of the analogue sensor position to the motion module as the HOME_POSITION, but I don't think that is possible).
If that can't be made to work, then you may need to add an integer number of revs to the feedback position. This may be tricky with f-error checking.
You might be able to integrate the pot values into Pumakins.
You need to make a distinction here between "Joints" and "Axes". Your robot has 6 degrees of freedom, the position of the actuator in XYZ space, and the angle of the actuator in ABC.2) All 6 joints are rotary, so any ideas what "axis" will need to be assigned? can I call XYZ or UVW angular instead of linear?
You control the actuator position in XYZ linear space, anf the Pumakins module does the clever stuff of calculating what joint angles are needed to put the actuator at that point in space.
Please Log in or Create an account to join the conversation.
15 May 2013 19:37 - 15 May 2013 19:39 #34129
by btvpimill
Replied by btvpimill on topic upgrading PUMA 762 arm
lets wait to see if MESA has any ideas for the pot/encoder issue, but it looks like there are some options there. It looks like the easy answer would be if the home_offset could be variable based on the actual position of a joint , but I assume that is not an option.
Joints vs axis I have no issue with. Maybe I am too used to playing with Trivikens that I am not thinking right. I have not looked at pumakins, but this is clearly the way to go. My concern stems from me not thinking about the idea that HAL deals with joints. The INI makes them linear or angular, and the kin's takes care of what to do.
I am always a little concerned about this joint/axis when we go above XYZABC, as LinuxCNC ALWAYS gives XYZ the "main" focus. This is proven with feed rates as I have posted about before.
I will go blindly into this since I don't need to concern myself with things that are already solved. My PUMA will work in joint mode or world mode,, so that is all that needs to happen.
Joints vs axis I have no issue with. Maybe I am too used to playing with Trivikens that I am not thinking right. I have not looked at pumakins, but this is clearly the way to go. My concern stems from me not thinking about the idea that HAL deals with joints. The INI makes them linear or angular, and the kin's takes care of what to do.
I am always a little concerned about this joint/axis when we go above XYZABC, as LinuxCNC ALWAYS gives XYZ the "main" focus. This is proven with feed rates as I have posted about before.
I will go blindly into this since I don't need to concern myself with things that are already solved. My PUMA will work in joint mode or world mode,, so that is all that needs to happen.
Last edit: 15 May 2013 19:39 by btvpimill.
Please Log in or Create an account to join the conversation.
19 May 2013 19:13 #34389
by btvpimill
Replied by btvpimill on topic upgrading PUMA 762 arm
starting to look at hardware for this build, it seems like the 7i65 is the card I need to talk to the PUMA. From its description it covers the encoders,pots,and servos. This does not solve how to "home at any index" but at least that gets the electronics sorted out.
Now it says it connects to anything IO cards, but does this also include the 5i25? clearly the pinout is not correct on the headers. (50 pin does not plug into 26 pin nicely).
Now it says it connects to anything IO cards, but does this also include the 5i25? clearly the pinout is not correct on the headers. (50 pin does not plug into 26 pin nicely).
Please Log in or Create an account to join the conversation.
20 May 2013 00:34 #34394
by andypugh
In theory a special firmware for the 5i25 and a special cable could make it work, but why?
The 5i25-compatible servo card is the 7i77. However this only has 4 analogue inputs, so won't do what you require quite so well as the 7i65.
Replied by andypugh on topic upgrading PUMA 762 arm
You will need a 5i20, 5i22 or 5i23.Now it says it connects to anything IO cards, but does this also include the 5i25?
In theory a special firmware for the 5i25 and a special cable could make it work, but why?
The 5i25-compatible servo card is the 7i77. However this only has 4 analogue inputs, so won't do what you require quite so well as the 7i65.
Please Log in or Create an account to join the conversation.
20 May 2013 00:53 #34396
by btvpimill
Replied by btvpimill on topic upgrading PUMA 762 arm
well in reality, not sure how well we will be able to use the pots on the arm anyway. looks like the 7i77 will do everything else. And if we could use the pots somehow, I could always come up with something for the last 2 joints, even if just a home switch. I would like to use a 5i25 as it looks like I may be getting much more intimate with it in my machine project.
On that subject as a side note - did you (Andy) write the driver for it? I want to go and understand it but it seems there may be more than 1 file I need to look at. I want to understand how the discovery part works. Can you list the file(s) that make up the driver? I can go find them if I know what I am looking for.
On that subject as a side note - did you (Andy) write the driver for it? I want to go and understand it but it seems there may be more than 1 file I need to look at. I want to understand how the discovery part works. Can you list the file(s) that make up the driver? I can go find them if I know what I am looking for.
Please Log in or Create an account to join the conversation.
20 May 2013 01:04 #34397
by andypugh
The 7i77 offers a lot more IO on-board than does the 7i65m but I don't know how much you really need for a Puma.
You can easily connect a 7i87 to the smart-serial header of the 7i77 to add more analog inputs.
7i65 is src/hal/drivers mesa_7i65.com and src/hal/drivers/mesa-hostmot2/bspi.c
7i77 is src/hal/drivers/mesa-hostmot2/ hostmot2.c …hm2_pci.c, …sserial.c
Replied by andypugh on topic upgrading PUMA 762 arm
There really is not a lot to choose between the 5i25 and 5i23, though the 5i23 does still have a significantly more powerful FPGA.well in reality, not sure how well we will be able to use the pots on the arm anyway. looks like the 7i77 will do everything else. And if we could use the pots somehow, I could always come up with something for the last 2 joints, even if just a home switch. I would like to use a 5i25 as it looks like I may be getting much more intimate with it in my machine project.
The 7i77 offers a lot more IO on-board than does the 7i65m but I don't know how much you really need for a Puma.
You can easily connect a 7i87 to the smart-serial header of the 7i77 to add more analog inputs.
I am not sure which "It" you mean here. But I wrote the driver for the 7i65 and the Smart Serial parts of the 7i77, so the answer is "yes" regardless.On that subject as a side note - did you (Andy) write the driver for it? .
7i65 is src/hal/drivers mesa_7i65.com and src/hal/drivers/mesa-hostmot2/bspi.c
7i77 is src/hal/drivers/mesa-hostmot2/ hostmot2.c …hm2_pci.c, …sserial.c
Please Log in or Create an account to join the conversation.
20 May 2013 01:09 #34398
by btvpimill
Replied by btvpimill on topic upgrading PUMA 762 arm
OMG I am such a dork, the "it" was referring to the 5i25. Thank you for the other pointers, I will be reading
Please Log in or Create an account to join the conversation.
Moderators: cncbasher
Time to create page: 0.070 seconds