Opencascade hal component, display and interact with 3d stepfile models

  • Grotius
  • Grotius's Avatar Topic Author
  • Offline
  • Platinum Member
  • Platinum Member
More
26 Jun 2021 18:31 #212971 by Grotius
Hi,

Could it be handy to integrate the "opencascade cad viewer" in a linuxncnc .so component?
The tk visualisation is a little bit outdated in the sence of displaying cool stepfile models.

Who thinks this is a cool option?

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

More
26 Jun 2021 19:10 #212974 by Aciera
Sure thing! And collision control using stl models...
The following user(s) said Thank You: Grotius

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

  • Grotius
  • Grotius's Avatar Topic Author
  • Offline
  • Platinum Member
  • Platinum Member
More
26 Jun 2021 19:35 #212975 by Grotius
Collision control is a nice option !
But it has to trigger the collision before there is a actual part collision.
We have to apply some magic here.
The following user(s) said Thank You: tommylight

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

More
26 Jun 2021 19:51 - 26 Jun 2021 19:52 #212977 by Aciera
Another thing I'll try to get into master is the 'dryrun' feature that let's the user run through gcode in a fast forward mode without actually moving the motors for testing. This is very useful for non-trivial kinematics since the trajectory planner cannot foresee limit violations in non-trivial setups. Maybe stl collision control could be useful in such a feature?

Last edit: 26 Jun 2021 19:52 by Aciera.
The following user(s) said Thank You: tommylight

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

  • Grotius
  • Grotius's Avatar Topic Author
  • Offline
  • Platinum Member
  • Platinum Member
More
26 Jun 2021 20:33 - 26 Jun 2021 21:43 #212981 by Grotius
Hi,

Yes dry run.

In the kinematic component or another component you could add a pin that blocks the motor outputs. In the robot program i have
a selector wich enables the motors.
You could add a pin to the stepgen or pid component for this. The solution an sich is quite easy to integrate.

We got some progress.
The opencascade.so component is first online now.
And it start the opencascade screen in a separate thread. I had to write some unusual
code for this. It has to start a mainwindow from inside a shared library. And it may not freeze the application. That is solved now.



. Maybe stl collision control could be useful in such a feature?

The Open CASCADE Collision Detection is an additional SDK offered on a commercial basis.
This is sheise.

Maybe we can use this one : github.com/flexible-collision-library/fcl

[edit]
Now the opencascade screen can recieve joint values.

To sniff around in the source code, visit : github.com/grotius-cnc/hal-opencascade
Attachments:
Last edit: 26 Jun 2021 21:43 by Grotius.
The following user(s) said Thank You: Aciera

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

  • Grotius
  • Grotius's Avatar Topic Author
  • Offline
  • Platinum Member
  • Platinum Member
More
28 Jun 2021 16:37 - 28 Jun 2021 16:41 #213158 by Grotius
Hi,

It now loads the robot model.
I had to solve a message : std::bad alloc
This was happening when the kinematic.so and the opencascade.so where loaded together on the servo-thread.

I think the showing time value's are quite good.

The basic's are working now. A proof of concept is done!

Have to code straight to the finish line now. I will keep the c & c++ code as simple as possible.

Arciera, do you have your robot stepfiles already?

 

Latest source code for info : github.com/grotius-cnc/hal-opencascade/releases/tag/1.0.0
Attachments:
Last edit: 28 Jun 2021 16:41 by Grotius.

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

More
28 Jun 2021 18:07 #213162 by Aciera

Arciera, do you have your robot stepfiles already?


Yes you can have a look at them. The STL's are in the first two zip folders here:

forum.linuxcnc.org/10-advanced-configura...th-simulation#158467

Haven't had time to look at your code any further as I'm busy with other stuff at the moment.

Thanks
The following user(s) said Thank You: Grotius

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

  • Grotius
  • Grotius's Avatar Topic Author
  • Offline
  • Platinum Member
  • Platinum Member
More
28 Jun 2021 22:14 - 29 Jun 2021 00:12 #213182 by Grotius
Hi Arciera,You don't have to look. I have some work to do before it's ready.
If you have any time left, could you convert the stl's to step? Maybe color the files a little bit, so it looks cool !!

My first attempt rotating the machine by setting joint hal rw parameters with forward kinematics.
 
File Attachment:

[edit]
And a video where the inverse kinematics is just working.

To apply the gcode, we want to use a kind of 3d matrix for this. Then we can position the gcode to our needs.

Todo : Maybe search how linuxcnc read's the gcode. This would save us programming time.

Then we can visualize the gcode with the machine model. The dxfrw library is already inside the opencascade component.
We could display dxf files already !

For the kinematics i will add hals pin's for 
1. ik from current position - ik from init position.
2. user defined ik iteration value ~100

Ok so far so good! Have a nice day!










 
Attachments:
Last edit: 29 Jun 2021 00:12 by Grotius.

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

More
29 Jun 2021 16:15 - 29 Jun 2021 16:16 #213245 by Aciera
I'm sorry totally didn't read that you asked for step files. Have a look at the attached folder. I'm not sure the color is included but I've run out of time for today. 

 

File Attachment:

File Name: RV6-SDL.zip
File Size:1,434 KB
Attachments:
Last edit: 29 Jun 2021 16:16 by Aciera.

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

  • Grotius
  • Grotius's Avatar Topic Author
  • Offline
  • Platinum Member
  • Platinum Member
More
30 Jun 2021 03:52 #213304 by Grotius
Nice robot !
If you have the joint min and max values present in degrees or radian, would be perfect.

Attachments:

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

Time to create page: 0.121 seconds
Powered by Kunena Forum