All Projects → grotius-cnc → skynet_robot_control_rtos_ethercat

grotius-cnc / skynet_robot_control_rtos_ethercat

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

Projects that are alternatives of or similar to skynet robot control rtos ethercat

Cozmo-Animation-Explorer
Web interface to test all animations of the robot Cozmo from Anki
Stars: ✭ 43 (+4.88%)
Mutual labels:  robot
roboticsknowledgebase.github.io
Robotics Knowledgebase. The Wiki for Robot Builders.
Stars: ✭ 85 (+107.32%)
Mutual labels:  robot
console
HAL management console
Stars: ✭ 41 (+0%)
Mutual labels:  hal
laravel5-hal-json
Laravel 5 HAL+JSON API Transformer Package
Stars: ✭ 15 (-63.41%)
Mutual labels:  hal
bxcan
bxCAN peripheral driver for STM32 chips
Stars: ✭ 22 (-46.34%)
Mutual labels:  hal
penny
3 servos, 10 dollars hexapod
Stars: ✭ 26 (-36.59%)
Mutual labels:  robot
go-aida
[DEPRECATED] wechat robot based on wechat-go(wechat web api)
Stars: ✭ 71 (+73.17%)
Mutual labels:  robot
facebook-login-for-robots
Facebook Login for 🤖 robots
Stars: ✭ 41 (+0%)
Mutual labels:  robot
Riverbed-Community-Toolkit
Riverbed Community Toolkit is a public toolkit for Riverbed Solutions engineering and integration
Stars: ✭ 16 (-60.98%)
Mutual labels:  robot
STP2X3D
Translator from STEP format to X3D format
Stars: ✭ 36 (-12.2%)
Mutual labels:  opencascade
Turtlebot Navigation
This project was completed on May 15, 2015. The goal of the project was to implement software system for frontier based exploration and navigation for turtlebot-like robots.
Stars: ✭ 28 (-31.71%)
Mutual labels:  robot
robot hacking manual
Robot Hacking Manual (RHM). From robotics to cybersecurity. Papers, notes and writeups from a journey into robot cybersecurity.
Stars: ✭ 169 (+312.2%)
Mutual labels:  robot
PythonAudioEffects
A Python library that can apply: darth vader, echo, radio, robotic, and ghost effects to audio samples.
Stars: ✭ 26 (-36.59%)
Mutual labels:  robot
rcj-soccer-sim
The RoboCupJunior Soccer Simulator, based on Webots
Stars: ✭ 16 (-60.98%)
Mutual labels:  robot
woapp
web模拟安卓操作系统,php开发,内置文件管理,电话,短信,拍照,用在树莓派上可做智能家居,视频监控,机顶盒等……
Stars: ✭ 22 (-46.34%)
Mutual labels:  robot
3-D-Scene-Graph
3D scene graph generator implemented in Pytorch.
Stars: ✭ 52 (+26.83%)
Mutual labels:  robot
robozonky
Automatické investování na zonky.cz
Stars: ✭ 68 (+65.85%)
Mutual labels:  robot
Windows-Python-RAT
A New Microsoft Windows Remote Administrator Tool [RAT] with Python by Sir.4m1R.
Stars: ✭ 70 (+70.73%)
Mutual labels:  robot
spatialmath-matlab
Create, manipulate and convert representations of position and orientation in 2D or 3D using Python
Stars: ✭ 142 (+246.34%)
Mutual labels:  robot
trik-studio
TRIK Studio programming environment
Stars: ✭ 15 (-63.41%)
Mutual labels:  robot

Github All Releases

simplescreenrecorder-1.mp4

Download the latest source code => ZIPFILE

See Tags. https://github.com/grotius-cnc/Skynet_Robot_Control_Rtos_Ethercat/releases/tag/1.0.23

Open in Qt-creator : Skynet_Project.pro (edit the include path's to your needs).

+1 : When compiling the program, all files are copied to the build directory.

The machine control interface is quite complete. It can move in xyz, joints, euler, tooldirection etc.

The opencascade cad primitive function's are all inplemented 3d : points, lines, arc's, circle, wire, spline, etc.

Libraries:

External :

  • Opencascade cad (machine visualisation)
  • Kdl orocos kinematics (machine kinematic model)
  • Linuxcnc, Hal (hardware abstract layer)
  • Ethercat-hg master (ethercat bus)
  • Linuxcnc-ethercat (beckhoff ethercat driver family Ek-El)

Internal :

  • 3d Spline (3d spline algoritme)
  • Dxfrw (read and write dxf files)
  • Cavaliercontours (2d contour offset algoritme)
  • Scurve motion (scurve motion planner)

My realtime filosofy when the sum of program calculations, kinematic calculations take longer then 1ms :

The hal (hardware abstract layer) is reading the commanded machine position's every 1ms. This 1ms thread is called the servo-thread. In the kernel we use a realtime component called "streamer" This streamer read's the program position files and perform's a position every 1ms. The program path is calculated and written to multiple textfiles before execution by the streamer input. In this way the machine execution has a realtime performance. Through the tiny memory load during execution, program's can carry a huge complexity load.

The code in a nutshell :

  1. Load the machine stepfiles.
  2. Setup the kinematic model.
  3. Teach-in, add primitives like lines or arc's to the bucketvec data.
  4. Create a program from the bucketvec data. Create points for every 1ms and store them in multiple textfiles.
  5. Play the program. (Consider this as watching a netflix movie).

Todo :

  1. Motion reverse.
  2. Store teach-in primitive data with the streamer files in a project. Then user can view a previous teach-in project.
  3. When kinematic moves are outside the scope, add a solver sequence.
  4. Test realtime streaming over the internet.
  5. Realtime record option for ultra realistic moves.

Possible implemenations:

  1. Robotic Surgery Systems, including realtime streaming over the internet.
  2. Machine control system.
  3. Machine retrofit.
  4. Research and universety applications
  5. Boston robotics realistic movements trough realtime record options.
  6. Advanched military positioning systems.
  7. Use the code as infocenter for opencascade- kinematic- realtime program implementations.

To be reviewed:

  1. When the scurve has a initial(vo) or end(ve) motion value, the displacement graph's show a "kink". This "kink" is absorbed by the stepgen backend componenent.

If you have any problems loading the program: A linux-pro quickstart:

Download Linux 11 Professional Download Linux 11 Professional

A linux-bullseye quickstart:

Download Linux Debian 11 Bullseye Rtos  Download Linux Debian 11 Bullseye Rtos

[edit] Uploaded yet, follow the arc's, check latest release.

simplescreenrecorder-2021-06-16_09.31.53.mp4
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].