Hal_core is a lightweight cnc and robot controller in progress. It uses mature kernel technologies based on hal. It makes advanched usage of high end c++ libraries to do advanched calculations in realtime.
Hal-core is written as a universal program where all kind of kinematic models are welcome.
Multiple machines can be controlled at the same time. Every machine may load a gcode file.
Matrix project examples: https://github.com/grotius-cnc/hal-core/blob/main/src/hal/components/matrix/readme.md
3d Printing a model of 30.000 gcode lines, used strategy opencascade linewire :
simplescreenrecorder-2022-01-23_16.31.29.mp4
Skynet project examples: https://github.com/grotius-cnc/hal-core/blob/main/src/hal/components/skynet/readme.md
To get the latest source code just download the latest release tar.gz archive. This archives are pre-compiled for linux amd64. To recompile yourself: After the installation as discribed below, you can overwrite the /opt/hal-core directory with latest archive files and eventually you can perform a recompile fron the /opt/hal-core top dir, requesting the make file.
A hal environment can be used as platform to run realtime applications like:
motion controllers
robots
cnc-machines
parport, ethercat applications
research and development
scientific projects
building control systems
Included hardware drivers:
beckhoff, rpi4 ethercat compatible
mesa ethernet compatible
parport compatible
Hal-core can interact with high end software packages like "qt", "kdl kinematics", "opencascade cad", "ruckig trajectory", "hal view", "cam" etc. Therefore consider to install these software packages before installing hal-core.
Hal-Core install including subprogram "ethercat bus, qt, kdl, opencascade, halview, cam" :
$ wget https://raw.githubusercontent.com/grotius-cnc/hal-core/main/install_guide
$ chmod +x install_guide
$ sudo ./install_guide
# Set user permissions /opt dir.
sudo chmod -R -f 777 /opt
# Change owner /opt dir
sudo chown -R $USER /opt
# Change group /opt dir
sudo chown -R $USER:$USER /opt
Run / test hal-core in terminal :
$ /opt/hal-core/./runtest
Run / test hal-core with halview :
$ /opt/hal-core/./runtest_halview