How would you design a real time application for cnc control in c / c++ ???

More
04 Jan 2021 12:56 - 04 Jan 2021 13:47 #194032 by Aciera

I also tried to build on a fresh ISO install.


I actually take that back I tried again and it compiles on a fresh install of your ISO.


I think you have to look at the pro.user file of the project


I guess you meant the .pro file with the include paths.

[edit]

Problem is that I don't understand why I can't find kdl since the setup only differs in respect to lcnc.

Thanks
Last edit: 04 Jan 2021 13:47 by Aciera.

Please Log in or Create an account to join the conversation.

More
04 Jan 2021 13:40 #194033 by thefabricator03


I actually take that back I tried again and it compiles on a fresh install of your ISO.


Using Grotius's robot project with the Orocos Kinematics, can you use the G-Code RoboDK post processor?

Please Log in or Create an account to join the conversation.

More
04 Jan 2021 13:54 - 04 Jan 2021 13:57 #194035 by Aciera
@fabricator
To run my mitsubishi drives I need to build a Run in Place install. I have been advised to remove the LCNC installed on the system when running RIP installs and I have not been able to compile Grotius project on this system yet as some libraries have different paths.
I guess I could just reinstall everthing again and leave the installed LCNC instance on the system.

[edit]
The problem of being able to switch between trivial and coordinated kinematics using KDL will also need to be adressed.
Last edit: 04 Jan 2021 13:57 by Aciera.

Please Log in or Create an account to join the conversation.

More
04 Jan 2021 13:57 #194036 by thefabricator03
Yeah I did not realize you had a different setup for your servo drives, are they set up with a special component?

Please Log in or Create an account to join the conversation.

More
04 Jan 2021 14:02 - 04 Jan 2021 14:02 #194037 by Aciera
Dmitry has patched the source code to use the Mitsubishi optical SSCNET interface with his custom PCI cards.

yurtaev.com/

He then kindly incorporated dewey garretts "switchkins"-branch into his patched version for me to build on top of Grotius ISO that has all the necessary QT, KDL and orocos installations in it.
Last edit: 04 Jan 2021 14:02 by Aciera.

Please Log in or Create an account to join the conversation.

More
04 Jan 2021 14:04 #194038 by thefabricator03
Let us know how you get on, it will be interesting to see if you can get that G-Code post processor working with RoboDK programs.

Please Log in or Create an account to join the conversation.

More
04 Jan 2021 16:00 - 04 Jan 2021 16:06 #194050 by Aciera
@Grotius
Ok. Finally just reinstalled everything and now I have LCNC working AND the Skynet_project compiled.

I'm now a bit at a loss as to how to get LCNC and Skynet working together. LCNC crashes as soon as I run Skynet and Skynet crashes as soon as I start LCNC.

Sorry for being slow on the uptake again but I would appreciate it if you could provide a bit more guidance.

Thank you.

[edit]

In QT I get

HAL: ERROR: duplicate thread name servo-thread

I guess LCNC and Skynet are trying to set up HAL.

[edit2]

Does this only work with Ethercat?
Last edit: 04 Jan 2021 16:06 by Aciera.

Please Log in or Create an account to join the conversation.

More
04 Jan 2021 16:09 #194052 by Roiki
Just a heads up, G2/G3 commands are direction sensitive while roboDKs(and all robots really) CIRC command is direction agnostic. So you either need to implement logic in the post processor to interpret the direction correctly and choose G3 or G2 or remap the way linuxcnc handles a circular command. They are handled a bit differently which makes direct translation difficult. Also if I remember the software prefers radius arcs, which linuxcnc doesn't recommend.
The following user(s) said Thank You: Aciera

Please Log in or Create an account to join the conversation.

More
04 Jan 2021 16:34 - 04 Jan 2021 16:47 #194055 by Aciera
@Grotius

Just had a bit of a think:

Looks to me like Skynet uses HAL to load the rt components by itself so I would not, and indeed could not, run LCNC along with it?

[edit]
I noticed this comment in ethercat.hal:

If lcnc is master, we don't need to load threads


So would it be possible to start lcnc and then have skynet plug into the running instance of lcnc through the created halpins?
Last edit: 04 Jan 2021 16:47 by Aciera.

Please Log in or Create an account to join the conversation.

More
04 Jan 2021 17:50 - 04 Jan 2021 18:30 #194058 by Grotius
A new download link for the Debian iso : debian buster iso with lcnc, kdl, qt, opencascade etc. Will be up in half an hour. Filesize : 3.3Gb.

Hi Arciera,

To run it with Lcnc just look at this release : github.com/grotius-cnc/Skynet_Robot_Cont.../releases/tag/1.0.15
There are about 20 releases in total now.
Each release just show's something different. (just as a timeline)
In the above release the project is running alongside lcnc. Read the github release page.
In later versions it run't without lcnc. In the 2 zip file is the code.
The main thing is to replace in the ini file, axis with your app, then it will run lcnc trough the ini file.
Minimal required to load lcnc trough ini file is loading motdot. You will see this in the config in the zip files.

I'm now a bit at a loss as to how to get LCNC and Skynet working together. LCNC crashes as soon as I run Skynet and Skynet crashes as soon as I start LCNC.
That's correct with later releases.

Does this only work with Ethercat?
It works without Etercat, just outcomment ethercat pins etc. in the ethercat hal file. You can connect a mesa or lpt1 as normal.

The overall problem of the first releases is the actual realtime performance.

The best performance was during the latest release. Where the timer had no pause interval. This results in a more complex
motion controller. But for testing it's nice to try.
In this latest release the last line of the kinematic model has a tiny typo, repared over here.here :

Ok. Finally just reinstalled everything and now I have LCNC working AND the Skynet_project compiled.
Oke nice. Ps, i alway's leave the orginal lcnc besides a rip install.

In general don't expect a 100% working robot controller. If you can run the latest release, you can test in my view the best possible
realtime performance. That would be a basis to move on from.

**
I guess you meant the .pro file with the include paths.
There is also a .pro.user file. Your error picture showed my directory structure : home/user/... That correpondent's your error output.
I think you have something like home/arciera/... So that's a problem with links inside the pro.user file.

What i must do next time is distribute it without the user.pro file. Then you must configure the project when qt is started. This will
setup correct filepath's for you. So deleting the pro.user file would fix your problem in the future.

**
The problem of being able to switch between trivial and coordinated kinematics using KDL will also need to be adressed.
Just give me a detailled practical example of the problem. Then i can think about it. :whistle:

Have a nice day !
Last edit: 04 Jan 2021 18:30 by Grotius.
The following user(s) said Thank You: tommylight, thefabricator03, Aciera

Please Log in or Create an account to join the conversation.

Time to create page: 0.160 seconds
Powered by Kunena Forum