AdamSorrel / swiftpro_support

Support files for the swiftpro ros package, contraining meshes, urdf and some config files.
4 stars 0 forks source link

Inverse kinematics #1

Open nouaim opened 4 years ago

nouaim commented 4 years ago

Hello Adam, kindly answer me ASAP. it is very urgent.

Have you been able to do inverse kinematics successfully on this Repo that you've created?

I mean can the robot move to a given location x,y,z determining the corresponding joint angles?

Thanks. I only care about the first 3 joints and not the one for the gripper.

AdamSorrel commented 4 years ago

Hi there,

Unfortunately I didn't. I have the equations but I think my measurements are a bit off so the precision is awful. I didn't have time to get back to it for a while now, but I was planning to determine the coefficients backwards by regression, but so far I haven't done that.

Sorry to disappoint.

A.

On Fri, Sep 27, 2019, 10:07 nouaim notifications@github.com wrote:

Hello Adam, kindly answer me ASAP. it is very urgent.

Have you been able to do inverse kinematics successfully on this Repo that you've created?

I mean can the robot move to a given location x,y,z determining the corresponding joint angles?

Thanks. I only care about the first 3 joints and not the one for the gripper.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/AdamSorrel/swiftpro_support/issues/1?email_source=notifications&email_token=AD2O35KDT3IKLR4MXU37A6LQLW5NNA5CNFSM4I3DGDTKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HOCXHUQ, or mute the thread https://github.com/notifications/unsubscribe-auth/AD2O35PYQVJ357IZPF6QBZTQLW5NNANCNFSM4I3DGDTA .

nouaim commented 4 years ago

okay thanks, what about what it is offered here by the uArm company https://github.com/uArm-Developer/RosForSwiftAndSwiftPro . Is it able to do inverse kinematics?

AdamSorrel commented 4 years ago

They do only forward kinematics in that package. Check their firmware for the Arduino board though. I think there is something like inverse kinematics there. I don't remember why, but it didn't with well for me. But you can start there. Keep me posted if you figure something out please.

A.

On Fri, Sep 27, 2019, 10:34 nouaim notifications@github.com wrote:

okay thanks, what about what it is offered here by the uArm company https://github.com/uArm-Developer/RosForSwiftAndSwiftPro . Is it able to do inverse kinematics?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/AdamSorrel/swiftpro_support/issues/1?email_source=notifications&email_token=AD2O35N2SKNEWJFERH47CTLQLXAQNA5CNFSM4I3DGDTKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7YGGMY#issuecomment-535847731, or mute the thread https://github.com/notifications/unsubscribe-auth/AD2O35M4UNWW3V7FJGGKL3DQLXAQNANCNFSM4I3DGDTA .

nouaim commented 4 years ago

I have seen it is working with a python SDK of the Arduino. The problem I have a vision program that is sending detection perfectly using ROS. I don't know how much time it will take me to learn to send the detection via the Arduino again.

What about this IKfast plugin that says it generates inverse kinematics automatically? Does it have to be integrated with some calucaluations also if you have an idea?

AdamSorrel commented 4 years ago

Well I have the working scaffolding. I can either send it to you or if you extract the equations, I can try to implement it for you.

I wasn't able to make IKfast work. It's based around dealing with redundant joints. Which we obviously don't have. It's generally not an optimal solution, but I'm not certain it couldn't work. But as I said, I tried it and couldn't get it to work on this arm.

A.

On Fri, Sep 27, 2019, 10:47 nouaim notifications@github.com wrote:

I have seen it is working with a python SDK of the Arduino. The problem I have a vision program that is sending detection perfectly using ROS. I don't know how much time it will take me to learn to send the detection via the Arduino again.

What about this IKfast plugin that says it generates inverse kinematics automatically? Does it have to be integrated with some calucaluations also if you have an idea?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/AdamSorrel/swiftpro_support/issues/1?email_source=notifications&email_token=AD2O35NVPYCTABRY4F3PK4TQLXCB5A5CNFSM4I3DGDTKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7YHI7Q#issuecomment-535852158, or mute the thread https://github.com/notifications/unsubscribe-auth/AD2O35PA5V4A4M66ZTAOUHTQLXCB5ANCNFSM4I3DGDTA .

nouaim commented 4 years ago

What about this inverse kinematics code in here https://github.com/uArm-Developer/UArmForROS/blob/master/visualization/visual_control.py

It seems it is ROS code for uarm (not swiftpro). Do you think we can work on converting this into c++ code to work with the swiftpro ROS package?

AdamSorrel commented 4 years ago

Converting it won't be an issue, but if it's not for swiftpro the math won't work properly. I don't follow these packages so I'm not sure what they have there, but shouldn't there be a swiftpro version somewhere?

On Fri, Sep 27, 2019, 14:04 nouaim notifications@github.com wrote:

What about this inverse kinematics code in here https://github.com/uArm-Developer/UArmForROS/blob/master/visualization/visual_control.py

It seems it is ROS code for uarm (not swiftpro). Do you think we can work on converting this into c++ code to work with the swiftpro ROS package?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/AdamSorrel/swiftpro_support/issues/1?email_source=notifications&email_token=AD2O35M2VM6WH7RG2MXKXE3QLXZFFA5CNFSM4I3DGDTKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7YVV4A#issuecomment-535911152, or mute the thread https://github.com/notifications/unsubscribe-auth/AD2O35JNX2IRSPSO34UPDP3QLXZFFANCNFSM4I3DGDTA .

nouaim commented 4 years ago

Can you see this https://github.com/uArm-Developer/SwiftProForArduino/blob/develop/lib/Marlin/uArmSwift.cpp . I think this must be linked to the Python SDK that they have on the same repo here https://github.com/uArm-Developer/uArm-Python-SDK . For the python SDK, I tested with many positions and it works fine which means that inverse kinematics there is cool.

AdamSorrel commented 4 years ago

The first part is what I was referring to when. I said that the IK is part of the firmware. I will check the second link in more details when I get home in a couple of hours. I won't have internet during the weekend so I'll really get to work on it on Tuesday. But I'll do my best to have least have some answers before.

Have you worked with ROS before? I can send you the node and you can try it yourself if you want, but but might not make much sense, because I have decided to change the firmware messages type. It defaultly uses some Cartesian system that makes sense for 3D printers but not for moving robot arms. The default message system is Cartesian and not joint values so it always does IK in the Arduino board. The inner logic is really bizarre.

On Fri, Sep 27, 2019, 17:06 nouaim notifications@github.com wrote:

Can you see this https://github.com/uArm-Developer/SwiftProForArduino/blob/develop/lib/Marlin/uArmSwift.cpp . I think this must be linked to the Python SDK that they have on the same repo here https://github.com/uArm-Developer/uArm-Python-SDK . For the python SDK, I tested with many positions and it works fine which means that inverse kinematics there is cool.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/AdamSorrel/swiftpro_support/issues/1?email_source=notifications&email_token=AD2O35OHCHJTLJWPEHW5OFDQLYONXA5CNFSM4I3DGDTKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7ZGGTA#issuecomment-535978828, or mute the thread https://github.com/notifications/unsubscribe-auth/AD2O35PF7LRYLUSRPGGD4OLQLYONXANCNFSM4I3DGDTA .

nouaim commented 4 years ago

I'd be happy to see your node. Please send it. and does it go in cartesian movement accurately because that can be sufficient to me since I only want to send the arm to given positions.

AdamSorrel commented 4 years ago

Well I have made an effort to get rid of the Cartesian movement messages. But I think it won't be hard to go back to it.

I will send it asap.

On Fri, Sep 27, 2019, 20:33 nouaim notifications@github.com wrote:

I'd be happy to see your node. Please send it. and does it go in cartesian movement accurately because that can be sufficient to me since I only want to send the arm to given positions.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/AdamSorrel/swiftpro_support/issues/1?email_source=notifications&email_token=AD2O35JJ27EBEMONLGAZLELQLZGV3A5CNFSM4I3DGDTKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7ZX4WQ#issuecomment-536051290, or mute the thread https://github.com/notifications/unsubscribe-auth/AD2O35JJ4ZM55CW45OSZVBLQLZGV3ANCNFSM4I3DGDTA .

nouaim commented 4 years ago

Really appreciated.

AdamSorrel commented 4 years ago

Hi, Sorry, this week was crazy. But I'll have time during this weekend so I should get it done.

A.

On Fri, Sep 27, 2019, 21:08 nouaim notifications@github.com wrote:

Really appreciated.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/AdamSorrel/swiftpro_support/issues/1?email_source=notifications&email_token=AD2O35L77LZFNT2HXFS4FCTQLZK2VA5CNFSM4I3DGDTKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7Z2XLY#issuecomment-536062895, or mute the thread https://github.com/notifications/unsubscribe-auth/AD2O35NZMU32TAJITBNTOJDQLZK2VANCNFSM4I3DGDTA .

nouaim commented 4 years ago

Okay, thanks again.

agillies8 commented 3 years ago

Hey Adam, did the KDL solver ever work with the UArm? It seems from the lit that its not suited to closed loop chains (or <6DOF arms). In the UArm, the end effector is dependent on two parent links.

Asking because Im trying to develop a package for my own 4-axis parallel linkage arm, and integrate into MoveIt.

The docs suggest that you can replace the KDL plugin with your own custom IK plugin that can handle the closed-loop chain, but before I start that effort I wanted to see if anyone developing for Uarm had accomplished that.