Releases: grotius-cnc/skynet_robot_control_rtos_ethercat
follow the arcs
Tiny update. including following the arc's in program mode.
more advanched example
simplescreenrecorder-1.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.
repeared a typo
I repeared a typo in the kdl kinematic chain setup. The last robot axis (joint 6) was rotating about a wrong axis.
A minimal example with gui and motion planner
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 :
- Load robot model
- 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.
Video of app is attached.
This App is capable of doing real time motion tasks on a real robot !
Parts of the motionplanner included
3 Projects included.
- compile Lcnc kinematic module
- compile QT Scurve motion module
- 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.
1.0.19
Lcnc Hal IK FK Component.
1.0.18
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 !
Minor update
Minor Update
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.
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)
Minor Update
Implementation of workframe's.
To enable halgui. In cmainwindow.ccp line 124+125, enable.
- To start the app with lcnc, first start lcnc conform attatched gui example (linuxcnc_axis.zip)
- Start skynet app.
- Load project. It loads the FactoryApp.xml automaticly. ( it sets up the xml file for you automaticly ).
- HalControls. This will connect the app to lcnc.
- Load Gcode, This will load a gcode and apply the gcode to the workframe.