Code Monkey home page Code Monkey logo

skynet_robot_control_rtos_ethercat's Introduction

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

skynet_robot_control_rtos_ethercat's People

Contributors

grotius-cnc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

skynet_robot_control_rtos_ethercat's Issues

Orientation of rotation axis.

Hi, this is not an issue, rather a question related to your project, hope that is ok. I am trying to do something very similar to your project, using OCCT and Qt to visualize the configuration of a robotic arm in real-time. This means that I will just calculate the forward kinematics based on inputs, instead of an IK-solver. Just like you, I have decided to divide every link into separate STEP files.

I am totally stuck at the assembly point, how have you been able to define the rotation axis of each joint in the chain? I have not been able to locate a solution to this challenge in your code.

compile

I have a problem compiling this project. Can you help me?
I have downloaded Linux 11 pro. It seems that I can't find linucnc EtherCAT under the opt folder, or even QT
f1700485b9e1aced84fe30c57c9e912

Issues Tracing splines and arcs

Hi. I am having an issue where the simulator does not seem to record any waypoints for anything other than a line. I also need some help integrating motor position feedback instead of stepgen feedback (I changed the Hal file but then there is an offset in the line drawn)

FactoryApp.xml missing

Hi,

I'm just playing around with your software and I have to say it is really impressive what you have created. I noticed, that you use a FactoryApp.xml file in your video and screenshot. This file is missing in the repository. Would it be possible to add this file as an example to make it easier to get started?

Would be great.

Thank you for this cool project. It really helps to learn how to use opencascade and robot kinematic.

Compile

Hi, can you help me to compile this project?
Many thanks in adavance
Let me know

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.