hal-core
27 Oct 2021 19:14 #224533
by Dave3891
Hi Grotius,
Here is a 3d model of the robot arm with the welding head, the robot model isn't exact but the joints are in the correct location.
Please let me know if this will work for the simulation
Here is a 3d model of the robot arm with the welding head, the robot model isn't exact but the joints are in the correct location.
Please let me know if this will work for the simulation
Attachments:
Please Log in or Create an account to join the conversation.
27 Oct 2021 22:59 #224536
by Dave3891
Hi,
I was able to compile and run this project that you posted:
github.com/grotius-cnc/Skynet_Robot_Cont.../releases/tag/1.0.21
Just had to modify the paths a bit and take out the ethercat parts from the hal file.
Tomorrow I will try loading my model files and robot settings and see what happens.
Looking good so far
I was able to compile and run this project that you posted:
github.com/grotius-cnc/Skynet_Robot_Cont.../releases/tag/1.0.21
Just had to modify the paths a bit and take out the ethercat parts from the hal file.
Tomorrow I will try loading my model files and robot settings and see what happens.
Looking good so far
Please Log in or Create an account to join the conversation.
28 Oct 2021 09:05 #224555
by Grotius
Hi,
Nice drawing !
For other users. To load and preview step files like this, you can use the program Mayo.
It can be found over here : github.com/grotius-cnc/mayo/releases/tag/v1.0.0
This is indeed a nice starting point for testing, good found!
github.com/grotius-cnc/skynet_robot_cont.../releases/tag/1.0.21
It does the stepper output quite nice from what i remember, but not optimal.
But nevertheless a good example to get familar with code techniques.
If you look at hal-core the code technique is different.
It uses a hal-component (kernel module) that make's usage of c++
helper libs like kdl, opencascade etc.
Because the kernel module is master of the app, the program is performed from kernel land wich is much faster then when performing your app from a userland app.
Nice drawing !
For other users. To load and preview step files like this, you can use the program Mayo.
It can be found over here : github.com/grotius-cnc/mayo/releases/tag/v1.0.0
This is indeed a nice starting point for testing, good found!
github.com/grotius-cnc/skynet_robot_cont.../releases/tag/1.0.21
It does the stepper output quite nice from what i remember, but not optimal.
But nevertheless a good example to get familar with code techniques.
If you look at hal-core the code technique is different.
It uses a hal-component (kernel module) that make's usage of c++
helper libs like kdl, opencascade etc.
Because the kernel module is master of the app, the program is performed from kernel land wich is much faster then when performing your app from a userland app.
Attachments:
Please Log in or Create an account to join the conversation.
28 Oct 2021 09:11 #224556
by Grotius
Hal-core update.
Hal-core has now a installer wich can install the following updated packages for you :
- opencascade with image support.
- kdl kinematics
- qt
- hal-core
Today i will look to create a stepgen component with the ruckig s-curve integrated instead of the lineair acc/dcc curve.
After that i can finish the motion planner.
So far so good, and have fun !
Hal-core has now a installer wich can install the following updated packages for you :
- opencascade with image support.
- kdl kinematics
- qt
- hal-core
Today i will look to create a stepgen component with the ruckig s-curve integrated instead of the lineair acc/dcc curve.
After that i can finish the motion planner.
So far so good, and have fun !
The following user(s) said Thank You: tommylight
Please Log in or Create an account to join the conversation.
28 Oct 2021 10:04 - 28 Oct 2021 10:06 #224558
by Grotius
Last edit: 28 Oct 2021 10:06 by Grotius.
Please Log in or Create an account to join the conversation.
- tommylight
- Away
- Moderator
Less
More
- Posts: 19106
- Thank you received: 6398
28 Oct 2021 11:00 #224560
by tommylight
Replied by tommylight on topic hal-core
Yeah the restaurants close at 11PM, that is the only restriction i am aware off.Hi Tommy,
I was curious, if i want to travel to Kosovo from Europe by car, Are there many covid restrictions in your country at the moment?
The following user(s) said Thank You: Grotius
Please Log in or Create an account to join the conversation.
29 Oct 2021 17:23 #224664
by Dave3891
Hi Grotius,
I was able to get the origin points on my model and the kinematics values sorted out for my robot. I also changed the waypoints in the program to make a basic square, but I noticed an issue.
It looks like one of the joints isn't rotating to keep the face parallel with the coordinates.
Here are some images of the problem.
Also is using the kinematics in the qt project the current best way to go? Or should I be using the hal kinematics module? What about sending positions? Keep using the MotionVec.push_back? Or is there another way?
Thanks for all your help with the project.
I was able to get the origin points on my model and the kinematics values sorted out for my robot. I also changed the waypoints in the program to make a basic square, but I noticed an issue.
It looks like one of the joints isn't rotating to keep the face parallel with the coordinates.
Here are some images of the problem.
Also is using the kinematics in the qt project the current best way to go? Or should I be using the hal kinematics module? What about sending positions? Keep using the MotionVec.push_back? Or is there another way?
Thanks for all your help with the project.
Attachments:
Please Log in or Create an account to join the conversation.
29 Oct 2021 21:29 #224679
by Grotius
Hi Dave,
It looks like one of the kinematic values isn't correct. Tiny problem.
Check this kdl values with the robot document and compare it to your fanuc arcmate datasheet.
Also is using the kinematics in the qt project the current best way to go?
To learn how it works, it's a good starting point. The example is compact and transparant to see how things are done.
Hal_kinematics is integrated to Hal_opencascade. Hal_opencascade
would be your next starting point. You can off cource try Hal_opencascade any time you want.
But understanding the code is more difficult then your current example.
Keep using the MotionVec.push_back? Or is there another way?
The motionvec is just a databucket used by the example. In real life the robot will follow a motion planner or something like
that.
The example of Hal_opencascade used Lcnc as the motion planner.
I see from the ./runtest it is based on the /opt/linuxcnc install.
To install this version, get it here. The dependencies for lcnc are written down here : dependencies
Your second picture has the correct robot start position. Try go get the Forward Kinematic "FK" xyz start position coordinates.
This is one of the first initialized parameters by KDL and you can check them with your drawing.
It looks like one of the joints isn't rotating to keep the face parallel with the coordinates.
In "IK" mode, inverse kinematic mode, the face should be kept parallel indeed. In "FK" mode, that's not the case.
Oke, try to get the robot working. And if you spent more then 4 hours, pass me the robot datasheet if you have one.
It looks like one of the kinematic values isn't correct. Tiny problem.
Check this kdl values with the robot document and compare it to your fanuc arcmate datasheet.
Also is using the kinematics in the qt project the current best way to go?
To learn how it works, it's a good starting point. The example is compact and transparant to see how things are done.
Hal_kinematics is integrated to Hal_opencascade. Hal_opencascade
would be your next starting point. You can off cource try Hal_opencascade any time you want.
But understanding the code is more difficult then your current example.
Keep using the MotionVec.push_back? Or is there another way?
The motionvec is just a databucket used by the example. In real life the robot will follow a motion planner or something like
that.
The example of Hal_opencascade used Lcnc as the motion planner.
I see from the ./runtest it is based on the /opt/linuxcnc install.
To install this version, get it here. The dependencies for lcnc are written down here : dependencies
Your second picture has the correct robot start position. Try go get the Forward Kinematic "FK" xyz start position coordinates.
This is one of the first initialized parameters by KDL and you can check them with your drawing.
It looks like one of the joints isn't rotating to keep the face parallel with the coordinates.
In "IK" mode, inverse kinematic mode, the face should be kept parallel indeed. In "FK" mode, that's not the case.
Oke, try to get the robot working. And if you spent more then 4 hours, pass me the robot datasheet if you have one.
Please Log in or Create an account to join the conversation.
29 Oct 2021 21:38 - 29 Oct 2021 21:47 #224680
by Grotius
Edit.
The Hal_opencascade project is entirely compiled with lcnc halcompile procedure and is documented that way.
So on first sight, this looks very difficult to get going. I did not have integrated Hal_opencascade into Hal-core yet.
Project compiling in Hal-core is way much easyer then with Lcnc halcompile. Sorry for that.
One thing about Hal_opencascade. The opencascade c++ code has a class called : draw_primitives. Here you can find
the Quaternion function. This is a function that can rotate your heat exchanger drawing in 3d, if you need to.
Don't use the rotate and translate function's for that. Quaternion's are working great for that purpose.
The Hal_opencascade project is entirely compiled with lcnc halcompile procedure and is documented that way.
So on first sight, this looks very difficult to get going. I did not have integrated Hal_opencascade into Hal-core yet.
Project compiling in Hal-core is way much easyer then with Lcnc halcompile. Sorry for that.
One thing about Hal_opencascade. The opencascade c++ code has a class called : draw_primitives. Here you can find
the Quaternion function. This is a function that can rotate your heat exchanger drawing in 3d, if you need to.
Don't use the rotate and translate function's for that. Quaternion's are working great for that purpose.
Last edit: 29 Oct 2021 21:47 by Grotius.
Please Log in or Create an account to join the conversation.
01 Nov 2021 20:58 #224915
by Grotius
Hi, for info:
I did some work on hal-core.
- There is are now 2 robot example's included. link
- Added a 16 axis s-curve Ruckig Dofs component including a build in stepgeneration. link
- Added to the installer : cam, qt, opencascade, kdl, halview. link
If you use the installer, it should work. The install takes about 5 minutes.
To finish : hal_trajectory.
I have a question about this, and will ask it in a general forum topic.
I did some work on hal-core.
- There is are now 2 robot example's included. link
- Added a 16 axis s-curve Ruckig Dofs component including a build in stepgeneration. link
- Added to the installer : cam, qt, opencascade, kdl, halview. link
If you use the installer, it should work. The install takes about 5 minutes.
To finish : hal_trajectory.
I have a question about this, and will ask it in a general forum topic.
Please Log in or Create an account to join the conversation.
Time to create page: 0.198 seconds