ROS LinuxCNC Link
12 May 2021 14:46 #208625
by Grotius
Replied by Grotius on topic ROS LinuxCNC Link
+1
Hi,
I had to expand the syntax a little. At the function section we have extra added "pinname" and "pinvalue".
At the combobox "Function" user can select the function they want to use.
Then it indexes the pin's of that function by pressing on the button "Read pin-par", then the value can be set.
Searching in hal for the child's of a component had to be coded. It took a while.
When you want to set multiple function's at the same time. You have to add a extra point with other function value's.
Then for the creation of the function i did some work.
It now display's debug information. When you have a typo in your function, it will be mentioned.
Also a halcommand can be done.
It load's all previous written function's in a list.
At the syntax display, section "functon" i have to define where the function has to added. To servo- or base thread.
Hi,
I had to expand the syntax a little. At the function section we have extra added "pinname" and "pinvalue".
At the combobox "Function" user can select the function they want to use.
Then it indexes the pin's of that function by pressing on the button "Read pin-par", then the value can be set.
Searching in hal for the child's of a component had to be coded. It took a while.
When you want to set multiple function's at the same time. You have to add a extra point with other function value's.
Then for the creation of the function i did some work.
It now display's debug information. When you have a typo in your function, it will be mentioned.
Also a halcommand can be done.
It load's all previous written function's in a list.
At the syntax display, section "functon" i have to define where the function has to added. To servo- or base thread.
Attachments:
Please Log in or Create an account to join the conversation.
12 May 2021 19:36 #208642
by Bari
Replied by Bari on topic ROS LinuxCNC Link
@Roiki
That's quite an exotic usecase. And for that precision I'd think you need some fpga hardware or custom realtime modules. Most of those camera systems aren't really designed for that anyway so I think you're looking for something more specialized than real sense.
I think you might have misunderstood my original question. It wasn't how to build the machine vision as I have been working with it since the 1970's. It was how to hook offsets and commands into his robot control application.
I already build systems that use image processing with LinuxCNC to perform the operation I mentioned. I was wondering how one might do it with his application.
Please Log in or Create an account to join the conversation.
13 May 2021 12:25 - 13 May 2021 12:30 #208729
by Grotius
Replied by Grotius on topic ROS LinuxCNC Link
@Bari,
Just curious, do you have a gantry or a robot?
Today i added the kinematic configuration. It can save and load configurations already.
The sample configuration is a kuka kr6.
I was thinking how to add a configuration for a gantry machine. This is quite easy to do.
Even when the gantry has 2 separate x axis motors, it is quite easy to realise in the config.
The homing procedure has no priority at the moment.
This info is enough to setup the kdl kinematics model.
I already have stored the data in a vector bucket when the contiguration file
is loaded and saved.
All value's like "joint max" and "joint min" etc are visible in hal as pin's
Next thing to do now is load the stepfiles in the opencascade preview screen and apply the
offset and rotation matrixes to the invidual part's given by the kinematics input value's.
After that we can connect the opencascade cad machine model to the gui joint values.
Just curious, do you have a gantry or a robot?
Today i added the kinematic configuration. It can save and load configurations already.
The sample configuration is a kuka kr6.
I was thinking how to add a configuration for a gantry machine. This is quite easy to do.
Even when the gantry has 2 separate x axis motors, it is quite easy to realise in the config.
The homing procedure has no priority at the moment.
This info is enough to setup the kdl kinematics model.
I already have stored the data in a vector bucket when the contiguration file
is loaded and saved.
All value's like "joint max" and "joint min" etc are visible in hal as pin's
Next thing to do now is load the stepfiles in the opencascade preview screen and apply the
offset and rotation matrixes to the invidual part's given by the kinematics input value's.
After that we can connect the opencascade cad machine model to the gui joint values.
Attachments:
Last edit: 13 May 2021 12:30 by Grotius.
The following user(s) said Thank You: Aciera
Please Log in or Create an account to join the conversation.
13 May 2021 13:01 #208733
by Aciera
Replied by Aciera on topic ROS LinuxCNC Link
Mavbe an example for a SCARA robot would be interesting?
The following user(s) said Thank You: Grotius
Please Log in or Create an account to join the conversation.
13 May 2021 13:49 #208736
by Grotius
Replied by Grotius on topic ROS LinuxCNC Link
Attachments:
Please Log in or Create an account to join the conversation.
13 May 2021 15:39 #208739
by Bari
Replied by Bari on topic ROS LinuxCNC Link
"Just curious, do you have a gantry or a robot?"
@Grotius
I have some of both. I even have robots on a gantry
A current project is four 5-axis mills mounted on a positioner to operate on two corners and top and bottom of a part all at one time. Why I'm looking at ROS for the control of the spacing between the mills and LCNC for each mill.
The problem with ROS is bass ackwards way they decided to add real-ish time synchronization that is not fine enough to control milling machines. And LCNC was not designed to control a milling machine that moves around to extend its working envelope.
@Grotius
I have some of both. I even have robots on a gantry
A current project is four 5-axis mills mounted on a positioner to operate on two corners and top and bottom of a part all at one time. Why I'm looking at ROS for the control of the spacing between the mills and LCNC for each mill.
The problem with ROS is bass ackwards way they decided to add real-ish time synchronization that is not fine enough to control milling machines. And LCNC was not designed to control a milling machine that moves around to extend its working envelope.
Please Log in or Create an account to join the conversation.
14 May 2021 15:32 - 14 May 2021 15:32 #208811
by Grotius
Replied by Grotius on topic ROS LinuxCNC Link
@ Hi Bari,
The problem with ROS is bass ackwards way they decided to add real-ish time synchronization that is not fine enough to control milling machines.
This comment i don't understand. What is exactly going wrong in ROS?
ROS for the control of the spacing between the mills
Do you need any collision detection logic between the mills ?
Project status:
Today i coded a hard part.
Now it can do a jog with stepsize.
1. It perform's a s-curve calculation for the path of the stepsize distance, for example a cartestion move x+500mm.
- We need s-curve acc-dcc to get nice machine moves.
2. Then with the info of the s-curve path it perform's a inverse kinematics.
3. When the ik has finished, we have the joint values for every 1ms.
4. Then the linux-buffer can perform the realtime move.
5. The machine movements are calculated before any move, i call this mode, "stream" mode.
The problem with ROS is bass ackwards way they decided to add real-ish time synchronization that is not fine enough to control milling machines.
This comment i don't understand. What is exactly going wrong in ROS?
ROS for the control of the spacing between the mills
Do you need any collision detection logic between the mills ?
Project status:
Today i coded a hard part.
Now it can do a jog with stepsize.
1. It perform's a s-curve calculation for the path of the stepsize distance, for example a cartestion move x+500mm.
- We need s-curve acc-dcc to get nice machine moves.
2. Then with the info of the s-curve path it perform's a inverse kinematics.
3. When the ik has finished, we have the joint values for every 1ms.
4. Then the linux-buffer can perform the realtime move.
5. The machine movements are calculated before any move, i call this mode, "stream" mode.
Last edit: 14 May 2021 15:32 by Grotius.
Please Log in or Create an account to join the conversation.
14 May 2021 15:57 #208813
by Aciera
Replied by Aciera on topic ROS LinuxCNC Link
@Bari
Is this in (old) ROS or already in ROS2?
As I understand realtime support was anounced for ROS2 but I have no idea if that has even been released yet.
Is this in (old) ROS or already in ROS2?
As I understand realtime support was anounced for ROS2 but I have no idea if that has even been released yet.
Please Log in or Create an account to join the conversation.
14 May 2021 17:27 #208827
by Bari
Replied by Bari on topic ROS LinuxCNC Link
I've only looked at ROS2.
Please Log in or Create an account to join the conversation.
14 May 2021 18:08 #208833
by Bari
Replied by Bari on topic ROS LinuxCNC Link
@Grotius
Collision detection is easy. It's collision avoidance I'd like.
The real problem is with robot makers. They don't want you inside their controller or robot. ROS doesn't talk to motor drivers and encoders directly so you are limited by what you can do with them when the controller decides to give or take info on velocity and/or position.
Collision detection is easy. It's collision avoidance I'd like.
The real problem is with robot makers. They don't want you inside their controller or robot. ROS doesn't talk to motor drivers and encoders directly so you are limited by what you can do with them when the controller decides to give or take info on velocity and/or position.
Please Log in or Create an account to join the conversation.
Time to create page: 0.200 seconds