Double or Triple Rotarydeltakins on Ethercat
- TheRoslyak
- Topic Author
- Offline
- Elite Member
Less
More
- Posts: 238
- Thank you received: 37
10 Nov 2020 13:02 #188866
by TheRoslyak
Replied by TheRoslyak on topic Double or Triple Rotarydeltakins on Ethercat
Can you tell me. This is the first time I’m doing this and therefore will be asking a bunch of stupid questions.
For begin, I did this file and compile. Am I acting in the right direction?
And what is the "time" variable?
For begin, I did this file and compile. Am I acting in the right direction?
And what is the "time" variable?
Please Log in or Create an account to join the conversation.
10 Nov 2020 15:48 - 10 Nov 2020 15:53 #188887
by Grotius
Replied by Grotius on topic Double or Triple Rotarydeltakins on Ethercat
Hi,
It's starting to look oke.
Try to get your static variables outside the function. Look at other components if it's possible.
Your robot arm lenghts could be done as float input from outside the component. This make's your component more dynamic.
If you want to know the time. You can do a compile to c code. Try that. The output is more difficult to read, but it give's you an idea what's actually happening behind the scene's.
This is the first time I’m doing this and therefore will be asking a bunch of stupid questions.
At first sight. It looks oke. Nice work so far ! I am happy for you !
One thing i thought about.
You can actually make a component for 3 robots. Or make one component for one robot and load it 3 times with a variant name.
Loading multiple threat's can become an advantage if the xyzabcuvw mdi is chucked up in 3 seperate mdi commands. But first try it simple.
It's starting to look oke.
Try to get your static variables outside the function. Look at other components if it's possible.
Your robot arm lenghts could be done as float input from outside the component. This make's your component more dynamic.
If you want to know the time. You can do a compile to c code. Try that. The output is more difficult to read, but it give's you an idea what's actually happening behind the scene's.
This is the first time I’m doing this and therefore will be asking a bunch of stupid questions.
At first sight. It looks oke. Nice work so far ! I am happy for you !
One thing i thought about.
You can actually make a component for 3 robots. Or make one component for one robot and load it 3 times with a variant name.
Loading multiple threat's can become an advantage if the xyzabcuvw mdi is chucked up in 3 seperate mdi commands. But first try it simple.
Last edit: 10 Nov 2020 15:53 by Grotius.
Please Log in or Create an account to join the conversation.
- TheRoslyak
- Topic Author
- Offline
- Elite Member
Less
More
- Posts: 238
- Thank you received: 37
10 Nov 2020 16:53 #188895
by TheRoslyak
Replied by TheRoslyak on topic Double or Triple Rotarydeltakins on Ethercat
ok. I understand that now I just do it to somehow work.
As for the 3 robots.
1 I found that linuxcnc (in Hal metr) has 16 joint. I can use them. But as I understand it, I cannot manage them by mdi or it is not possible, isn't it?
Now the question is a little off topic.
2 How much it is now possible to use Etherlab master (ec-debianize) for Jetson AGX Xavier (or other Jetson) I still do not understand. Has anyone done something fancy on the Rasberry Pi?
3 I have an Omron NX-ECC coupler. If you use "ethercat slave" only it is identified, all other modules (like NX-series Digital I/O Unit) are not defined. With what it can be problem? Etherlab master (ec-debianize) ?
As for the 3 robots.
1 I found that linuxcnc (in Hal metr) has 16 joint. I can use them. But as I understand it, I cannot manage them by mdi or it is not possible, isn't it?
Now the question is a little off topic.
2 How much it is now possible to use Etherlab master (ec-debianize) for Jetson AGX Xavier (or other Jetson) I still do not understand. Has anyone done something fancy on the Rasberry Pi?
3 I have an Omron NX-ECC coupler. If you use "ethercat slave" only it is identified, all other modules (like NX-series Digital I/O Unit) are not defined. With what it can be problem? Etherlab master (ec-debianize) ?
Please Log in or Create an account to join the conversation.
- TheRoslyak
- Topic Author
- Offline
- Elite Member
Less
More
- Posts: 238
- Thank you received: 37
11 Nov 2020 11:33 - 12 Nov 2020 10:17 #188984
by TheRoslyak
Replied by TheRoslyak on topic Double or Triple Rotarydeltakins on Ethercat
I can force data to be put into the "axis.a.pos-cmd" variable.
I can't do
axis.a.pos-cmd: = addrotarykins.0.transA.
Can I in *.comp how to refer to axis.a.pos-cmd bypassing the source code?
I can't do
axis.a.pos-cmd: = addrotarykins.0.transA.
Can I in *.comp how to refer to axis.a.pos-cmd bypassing the source code?
Last edit: 12 Nov 2020 10:17 by TheRoslyak.
Please Log in or Create an account to join the conversation.
12 Nov 2020 16:32 #189121
by Grotius
Replied by Grotius on topic Double or Triple Rotarydeltakins on Ethercat
Hi,
As for the 3 robots.
1 I found that linuxcnc (in Hal metr) has 16 joint. I can use them. But as I understand it, I cannot manage them by mdi or it is not possible, isn't it?
I don't know. Never done that. You can try it and find out.
Now the question is a little off topic.
2 How much it is now possible to use Etherlab master (ec-debianize) for Jetson AGX Xavier (or other Jetson) I still do not understand. Has anyone done something fancy on the Rasberry Pi?
3 I have an Omron NX-ECC coupler. If you use "ethercat slave" only it is identified, all other modules (like NX-series Digital I/O Unit) are not defined. With what it can be problem? Etherlab master (ec-debianize) ?
This are question's that takes more time to ansfer.
I can force data to be put into the "axis.a.pos-cmd" variable.
I can't do
axis.a.pos-cmd: = addrotarykins.0.transA.
Can I in *.comp how to refer to axis.a.pos-cmd bypassing the source code?
You only connect your comp in the postgui.hal file by the net commands. Comp's are loaded at last, after all hal files are loaded.
You can test you component with halshow to make a dummy connection. Then you can monitor your output and what is happening and if it's working at certain levels. Try this !
As for the 3 robots.
1 I found that linuxcnc (in Hal metr) has 16 joint. I can use them. But as I understand it, I cannot manage them by mdi or it is not possible, isn't it?
I don't know. Never done that. You can try it and find out.
Now the question is a little off topic.
2 How much it is now possible to use Etherlab master (ec-debianize) for Jetson AGX Xavier (or other Jetson) I still do not understand. Has anyone done something fancy on the Rasberry Pi?
3 I have an Omron NX-ECC coupler. If you use "ethercat slave" only it is identified, all other modules (like NX-series Digital I/O Unit) are not defined. With what it can be problem? Etherlab master (ec-debianize) ?
This are question's that takes more time to ansfer.
I can force data to be put into the "axis.a.pos-cmd" variable.
I can't do
axis.a.pos-cmd: = addrotarykins.0.transA.
Can I in *.comp how to refer to axis.a.pos-cmd bypassing the source code?
You only connect your comp in the postgui.hal file by the net commands. Comp's are loaded at last, after all hal files are loaded.
You can test you component with halshow to make a dummy connection. Then you can monitor your output and what is happening and if it's working at certain levels. Try this !
Please Log in or Create an account to join the conversation.
- TheRoslyak
- Topic Author
- Offline
- Elite Member
Less
More
- Posts: 238
- Thank you received: 37
12 Nov 2020 17:31 - 12 Nov 2020 18:05 #189133
by TheRoslyak
Replied by TheRoslyak on topic Double or Triple Rotarydeltakins on Ethercat
I don't quite understand why I need postgui.hal in this case.
I am getting the correct transA, transB and transC variables. But I cannot link them to axis.a.pos-cmd. Because the values axis.a.pos-cmd and * transA are output. i can't find a variable which is the input for axis.a.pos-cmd.
In rotarydeltakins this input varibles is rotarydelta.joint(0/1/2) and output is axis.(x/y/z).pos-cmd. And it works both ways,isn't it?
I am getting the correct transA, transB and transC variables. But I cannot link them to axis.a.pos-cmd. Because the values axis.a.pos-cmd and * transA are output. i can't find a variable which is the input for axis.a.pos-cmd.
In rotarydeltakins this input varibles is rotarydelta.joint(0/1/2) and output is axis.(x/y/z).pos-cmd. And it works both ways,isn't it?
Last edit: 12 Nov 2020 18:05 by TheRoslyak.
Please Log in or Create an account to join the conversation.
16 Nov 2020 09:00 #189498
by Grotius
Replied by Grotius on topic Double or Triple Rotarydeltakins on Ethercat
Hi,
Your component output can be connected to the ethercat motor controller.
You have to look if you want to add the stepgen before or after the component.
Your component output can be connected to the ethercat motor controller.
You have to look if you want to add the stepgen before or after the component.
Please Log in or Create an account to join the conversation.
- TheRoslyak
- Topic Author
- Offline
- Elite Member
Less
More
- Posts: 238
- Thank you received: 37
16 Nov 2020 09:52 - 16 Nov 2020 09:54 #189502
by TheRoslyak
Replied by TheRoslyak on topic Double or Triple Rotarydeltakins on Ethercat
How can I assign my variable to a linuxcnc variable?
by ethercat I send only joint position!
by ethercat I send only joint position!
Last edit: 16 Nov 2020 09:54 by TheRoslyak.
Please Log in or Create an account to join the conversation.
16 Nov 2020 13:27 #189510
by Grotius
Replied by Grotius on topic Double or Triple Rotarydeltakins on Ethercat
Hi,
The component joint output is your ethercat joint position, these should be connected trough a net command.
The component joint output is your ethercat joint position, these should be connected trough a net command.
Please Log in or Create an account to join the conversation.
- TheRoslyak
- Topic Author
- Offline
- Elite Member
Less
More
- Posts: 238
- Thank you received: 37
18 Nov 2020 08:53 - 18 Nov 2020 10:36 #189651
by TheRoslyak
Replied by TheRoslyak on topic Double or Triple Rotarydeltakins on Ethercat
Good day.
I figured it out. I had to use the formulas from the inverted kinematics. Can you give any example of how I can use the "if" function or analog in a hal file? I want to make a condition that if the robot is not crazy -> work in classic joint
else work in transJoint.
And Can you tell me if the variable in hal knows whether I'm working in World mode or Joint mode?
upd I find var halui.mode.is-joint)
PS Printscreen not work. I'm too lazy to figure it out
I figured it out. I had to use the formulas from the inverted kinematics. Can you give any example of how I can use the "if" function or analog in a hal file? I want to make a condition that if the robot is not crazy -> work in classic joint
else work in transJoint.
And Can you tell me if the variable in hal knows whether I'm working in World mode or Joint mode?
upd I find var halui.mode.is-joint)
PS Printscreen not work. I'm too lazy to figure it out
Last edit: 18 Nov 2020 10:36 by TheRoslyak.
Please Log in or Create an account to join the conversation.
Time to create page: 0.130 seconds