Skynet Robot Control Rtos Ethercat Versions Save

Realtime 6-axis robot controller, based on Qt C++ & OpenCascade & KDL kinematics & HAL

1.0.24

2 years ago

Tiny update. including following the arc's in program mode.

1.0.23

2 years ago

https://user-images.githubusercontent.com/44880102/122046313-c0f0af00-cdac-11eb-92a3-1def8517ed62.mp4

This is a more advanched example. If you don't use the hal layer, you first have to delete this code. Then it could be used as offline simulator.

1.0.22

3 years ago

I repeared a typo in the kdl kinematic chain setup. The last robot axis (joint 6) was rotating about a wrong axis.

1.0.21

3 years ago

In this example the steppermotors are running better then before.

When project is loaded "skynet.pro", press the Qt run button "cntr + r" so it compiles and run. The robot config files are now automaticly copied into the build directory, see the skynet.pro file line 78.

To turn off the ethercat, if you have another device : edit the ethercat.hal file.

When program is running :

  1. Load robot model
  2. Start

The example shows 4 motion commands when start is pressed, see motion.cpp to edit motion command's.

** The motion thread has no longer a wait period of 1ms. The xyz positions are now updated every thread loop conform the high resolution timer. This is a minimal code example without the implementation of robot controls and xml input files.

Picture of app: Screenshot_2020-12-25_07-27-59

Video of app is attached.

This App is capable of doing real time motion tasks on a real robot !

1.0.20

3 years ago

3 Projects included.

  1. compile Lcnc kinematic module
  2. compile QT Scurve motion module
  3. compile Skynet

When Skynet get's in the air, it start's the Lcnc and Scurve automaticly.

  • Press the activate IK button to initialize the robot.

Green = acceleration Cyan = Velocity

The motion planner has adaptive feed from -1 to 1. This works already ! It can move a negative path without any restrictions. It can move back from program line 1000 to line 0. It is not limited in going backward's as is in Lcnc, where the max backward's move is limited to a M3/M5.

The motion Scurve planner works nice, but the code has to be reviewed in the case the Vo (initial velocity) is above 0. And at the end i need to implement an Ve (velocity end). But it works quite nice already for the normal usage.

motion

Test video Watch the video

1.0.19

3 years ago

Lcnc Hal IK FK Component.

1.0.18

3 years ago

update

Only a video that shows the implemenation that the robot moves are updated from the Stepgenerator Position-Feedback value. This gives a more realistic preview output. Screencast 2020-12-04 04:53:43.mp4

A second video that shows the steppermotor's live movements on the realtime ethercat bus. Trough my experience with steppers speeds, this is a very nice output. The base thread = 15000 ns. 20201204_131106.mp4

Also the opencascade viewer is only showing surfaces and finally the correct (detailed) colors.

Next thing is to is trying to code a stand alone motion planner. When this is done, exclusion of the lcnc gui for simulating gcode motion is possible. This gives us a faster app.

For a few day's the RTOS iso is downloadable : https://transferxl.com/08v9YgCtVHDjD9 Iso size : 3.275 Gb. This iso includes the OpenCascade + KDL libs + QT_creator + Lcnc + Ethercat, etc. preinstalled, have fun !

1.0.17

3 years ago

Update Joint values to Hal. Fixed some Hal vector issue's when multiple projects are loaded at the same time.

result_todayh

Attached zipped video of application

1.0.16

3 years ago

Gcode is now applied to active Workframe and reflects machine's euler angles.

Multiple WorkFrame's are allowed. Each workframe may contain a different Gcode.

There is a video attached how it works.

reflecting_euler_angles

Todo : Stream joint output's to hal. (hardware abstract layer for realtime operations). Then the ethercat bus can use this value's to update the actual motor positions. (send the stepper or servo to commanded position)

1.0.15

3 years ago

Implementation of workframe's.

To enable halgui. In cmainwindow.ccp line 124+125, enable.

  1. To start the app with lcnc, first start lcnc conform attatched gui example (linuxcnc_axis.zip)
  2. Start skynet app.
  3. Load project. It loads the FactoryApp.xml automaticly. ( it sets up the xml file for you automaticly ).
  4. HalControls. This will connect the app to lcnc.
  5. Load Gcode, This will load a gcode and apply the gcode to the workframe.

Screenshot_2020-11-26_09-29-06