cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - If community subscription notifications are filling up your inbox you can set up a daily digest and get all your notifications in a single email. X

robot simulation and inverse kinematics

AbdelrahmanA
7-Bedrock

robot simulation and inverse kinematics

Greetings 

 I'm an undergraduate mechanical engineering student working on graduation project (Exechon robot ), that robot has complex kinematics ,so I have chosen to do it in a simulation software but faced many obstacles and during searching I found a simulation video of my project  made by Creo .

 

I don't know any thing about Creo software but I'm amazed by it and want to know if I can reach my target by it .

what I want to do :

  1. import my design and Creation of kinematics like joints between bodies and constraints ...etc .
  2. create path , use inverse kinematics solver to move the robot joints thus the robot tool follow the path .
  3. export motion profile of joints .
  4. Doing engineering tasks like milling or drilling .

in the end I uploaded the video that attracted me here .

 

Best regards,  

 

Abdelrahman

 

1 ACCEPTED SOLUTION

Accepted Solutions

Creo6 is good but student and professional are not compatible files.  Can you attach an example CSV file? 

 

I have two methods (6DOF and SLOT driven) to get the points in and I am not sure about limits on the number of points in CREO.  If you run into limits, you may need to break the path up into smaller chunks, but hopefully not.

 

The 6DOF version needs 3 separate files X vs TIME, Y VS TIME, Z VS TIME.  (Tab delimited)

The slot version needs a tab delimited version of the points XYZ

 

The 6 DOF is more arbitrary

The Slot version is actually first creating a smooth curve through all the points, then following the mechanism along the curve.

 

My example creates the path shown. The tools for both methods are shown with their mechanism icons.

See zip files attached.  The .tab, .pts, and .csv are just text files of points.

Path examplePath example

 

Once you have a tool forced to move along this path, you can attach the rest of the mechanism to it and read back each of the servo positions relative to time or relative to some other measure.  This of course assumes it can actually move in the pattern desired.  Also, it may be under-constrained for certain motions (more than one possible solution)  One way to solve this is to spring bias the joints to want to stay centered in their travel but that requires dynamic simulation instead of kinematic.  I am not sure about student version, you may need university version of Creo for that.  You should check into the university version anyway.

 

 

 

 

 

 

 

 

 

View solution in original post

21 REPLIES 21

I'm in the wrong section or what , plaese who sees ,my post react with me or guide me to the right place

anyone ?

Yes, I think it is very possible to do this type of study with CREO mechanism dynamics.  I assume you will put in the milling paths as curves and also define the head/tool orientations, then run the simulation to record the position data at all joints for input in your position controller to do the mill.  The biggest hurdle would be if there are multiple solutions, how to decide which joints have preference.

 

Are all of your joints rotation/pin joints?  That should not be so bad... be sure the zero angle references cannot move around on you. (regenerating to a new position for example)  For the pin joint it is best if the z plane is exactly perpendicular to the axis of rotation, and the angle (theta) reference is a plane that goes exactly through the axis of rotation.

 

BTW There are only a small number of people that answer in this area and I am pretty sure we all have regular jobs to keep up with.

Hey 

Thank you for your responding ,Although you are busy .

can't I make surface path like in the video I attached , can you please watch the video  ?

yes, ,most of joints are pins and just 3 prismatic joints in the legs .

 

Best Regards 

 

I watched the video.  Since you ask for inverse kinematics, I assume you already have the path output and want the inputs to the joints that generate such a path?

yes, I have the path as a G-code or a csv file of (x y z) points so I wonder if I can import that path ?

or it will be easy to build path inside the software ?

 

thank you 

WHat CREO version do you have?

Hey

I didn't start yet cause I'm gathering information but I'm seeking the student edition of Creo 6

 

Thank you 

Creo6 is good but student and professional are not compatible files.  Can you attach an example CSV file? 

 

I have two methods (6DOF and SLOT driven) to get the points in and I am not sure about limits on the number of points in CREO.  If you run into limits, you may need to break the path up into smaller chunks, but hopefully not.

 

The 6DOF version needs 3 separate files X vs TIME, Y VS TIME, Z VS TIME.  (Tab delimited)

The slot version needs a tab delimited version of the points XYZ

 

The 6 DOF is more arbitrary

The Slot version is actually first creating a smooth curve through all the points, then following the mechanism along the curve.

 

My example creates the path shown. The tools for both methods are shown with their mechanism icons.

See zip files attached.  The .tab, .pts, and .csv are just text files of points.

Path examplePath example

 

Once you have a tool forced to move along this path, you can attach the rest of the mechanism to it and read back each of the servo positions relative to time or relative to some other measure.  This of course assumes it can actually move in the pattern desired.  Also, it may be under-constrained for certain motions (more than one possible solution)  One way to solve this is to spring bias the joints to want to stay centered in their travel but that requires dynamic simulation instead of kinematic.  I am not sure about student version, you may need university version of Creo for that.  You should check into the university version anyway.

 

 

 

 

 

 

 

 

 

hey

1-I will see if I can get more compatible version .

2- the slot method would fit me better since I can import path as csv file (x y z) now or just I make simple points manually as I see in the attached pictures you sent , also the video you sent is great and remember me about if I can use my mechanism for in the cam module but I will check that later .

3- I also attached an example of csv file 

I also watched some tutorials and will start as soon as getting the software , if someone was able to do mechanism in the video I attached at first then I can make it too cause they are the same . 

Thank you so much 

I had to remove points that were duplicates, and the "type" column, then it works fine.

Here is the full example of a 5 AXIS mill Inverse Mechanism for CREO 6.  Note: CREO 7 comes out soon.

I did not set zero references on any of the axis of motion.

Thanks for the Sweetpeas path. 😊

Yes, this took me a bit of time, but it is such a great mechanism example I could not resist building the entire model up.  I cannot express how awesome CREO is in this area, such that a model like this took me only a few hours.  (I do have 24 years experience with Creo) 

 

 

 

 

Hey

you are such an awesome man .

Just after you sent the video of path "sweetpeas", I started to learn how to use Creo and the assembly of my mechanism parts .

I can send you a simple design parts I have made before starting Creo and was using it for simulation software ,so that you can test them or keep as you want .

May I ask you about your email?.

Yes, Creo is so amazing and I'm looking forward to be excellent in it .

Now you made me more enthusiastic .

Thank you so much .

 

Hey Sweetpeas

what I did :

1-created the mechanism assembly & joints

2-I put servo motors at active joints and travel limits .

 

Could I ask you how to do the remaining things to complete my model ?

thanks  

 

Create a stock part and assemble it to your model in a fixed position.

Open the stock part and create the tool path using this technique.

Place a coordinate system in the part where the zero will be for your tool path.

Make a datum point of the type offset from coordinate system, choosing the previously made coordinate system.

Choose the import option per

Annotation 2020-03-23 152806.png

choose your XYZ file formatted like pathptc.pts.  In that file remember to remove any consecutive points that are identical.  I used an excel formula to add up the absolute value difference  =abs(A1-A0)+abs(B1-B0)+abs(C1-C0) between two rows, then used excel filter (choosing  zero) and deleted rows with differences of zero.    Then choose OK to close the point dialog.

Next make a curve through points, picking the entire set of points with a dialog like this. Choose straight line interpolation and add fillet.

Annotation 2020-03-23 152915.png

This creates the curve to follow, now you just need a slot interface between this curve and the tool tip of your mill.  Also you will need some way to control the head orientation to the stock.  Once you have this working so you can drag your mill along the path with the drag tool (hand icon) we can get into simulation and measures.  Please upload screenshots to show your work because I cannot open your student version files to look at them.

Hey 

Okay , I was able to create another frame close to the spindle and also imported the points and made curve through the points .

 

I don't know which file you are talking about (the one I attached 5 days ago or the one I sent you )but I sent you a message with my new files, If this not working , I will upload screenshots 

Thanks  

The zip file with all the *.CREO files cannot be opened.  Creo files end like *.prt.1  *.prt.2 *.asm.1 *.asm.2.  

I have attached better documentation of the bodies and joints so this can be done in other versions of CREO.  The addition of body Crossbeam_3 with its related pin joint is likely where you are going astray.  Keep in mind what motions the design has to be able to accomplish and if you do not allow the motion, then it will fail to assemble.  Move the parts closer to the correct position with the dragger icon  (blue/red/green arrows on it) before connecting/defining joints.  Build the model slowly, one connection at a time, and use the Drag Components (hand with X) dialog to exercise the model and save/recall snapshots of good configurations/orientations.  Let us know your process and model similar to my table in the attached, what connections work and what step you first get a connection error (cannot assemble).   Use a similar image with numbers and icons too.  This sounds tedious but it will be worthwhile to understand and communicate the model and the effort involved. 

 

In the mechanism part of your assembly make two measures of type SYSTEM, one showing "degrees of freedom" and one showing "redundancies"  Document these as you build the model.  Here is how you obtain the results for them:

 

Still in MECHANISM After the measures are defined make a new analysis of type STATIC and give it a name like "SYSTEM"  Select OK. (do not run yet).  

Now from the mechanism tree left click and select run (green flag) on the analysis just created.

This is how you re-run to check degrees of freedom and redundancies.

 

Close the graph/chart that comes up when you run.

Click back on measures(where you created the measures)

Select the Result Set you just ran "System".  The values of the measures will be populated and you can record them as an additional columns of data as you build your model and communicate it.

Hey

I still don't understand that part so I couldn't do it or move to the motion part 

"

Still in MECHANISM After the measures are defined make a new analysis of type STATIC and give it a name like "SYSTEM"  Select OK. (do not run yet).  

Now from the mechanism tree left click and select run (green flag) on the analysis just created.

This is how you re-run to check degrees of freedom and redundancies.

 

Close the graph/chart that comes up when you run.

Click back on measures(where you created the measures)

Select the Result Set you just ran "System".  The values of the measures will be populated and you can record them as an additional columns of data as you build your model and communicate it.

 

me too can't open them but I can open the assembly file , Do Creo work upwards or downwards ?

ptc.png

 I also sent you a private message 

Thank you ,I appreciate your help.

 

 

 

edit : how can I make a single curve from the points cause when I want to make a slot connection the curve appears as a segments? I saw you was able to do it in the first attachment file  

 also encounter some errors during testing the robot with mechanims analyzer , constrains can't be satisfied 

 

Top Tags