Git Product home page Git Product logo

plcopen_motion_control's Introduction

RTmotion

PLCopen motion library

Documentation

The documentation can be compiled to doc subfolder through the commands:

sudo apt install graphviz

doxygen ./Doxyfile

Open doc/html/index.html to check the documentation.

Continous Integration

Travis CI:

Gitlab CI: pipeline status

Install dependency

sudo apt install libeigen3-dev

# Install ruckig
git clone https://github.com/pantor/ruckig.git

cd <path_to_ruckig>
mkdir -p build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make && sudo make install

Build

git clone https://gitlab.devtools.intel.com/iotg-china-ist/plcopen_motion_control.git

cd <path_to_plcopen_motion_control>

mkdir build && cd build

# If build on Ubuntu Linux, run the next command
cmake ..

# If build on PREEMPT Linux, run the next command
cmake ..

# If build on Xenomai, run the next command
cmake .. -DXENOMAI_DIR=/usr/xenomai/bin/

make && sudo make install

# Try **sudo ldconfig** after installation if meet any problem related to library file missing.

Note: Install googletest then add -DTEST=ON -DPLOT=ON -DSYSTEM_ROOT=/usr at the end of cmake command if need to do Unit Test and plot the result. Check Unit Test below for details.

Run Demo

single_axis_move_relative

Run Evaluation

Running the evaluation program using the following commands:

axis_move_cyclic

This evaluation program enables a MC_MoveRelative function block running in 1ms real-time cycle. The function block will be re-triggered everytime it finished its task. It can be stopped by Ctrl+C.

Unit Test

  • Googletest is used as the test framework. Therefore, if test running is desired, follow the commands below to install gtest at first.

    sudo apt install googletest

    or

    export CXXFLAGS="-std=c++11"
    cd ~ && git clone https://github.com/google/googletest.git
    cd googletest && mkdir build
    cd build
    cmake .. -DBUILD_SHARED_LIBS=ON
    sudo make install

    In order to build the tests, add the argument -DTEST=On to cmake commands.

  • To enable the plotting in the test, install the dependencies below.

    sudo apt-get install python3-matplotlib python3-numpy python3-dev

    And add CMake argument -DPLOT=On.

  • On-line S-Curve Algorithm Test:

    <build folder>/test/online_scurve_test
  • Trjactory Planner Test:

    <build folder>/test/planner_test
  • Function Block Test:

    <build folder>/test/function_block_test

Link to the library

Please find all headers files under /usr/local/include/RTmotion/. The library file libRTmotion.so locates at /use/local/lib.

plcopen_motion_control's People

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.