Skip to content

leijian001/plcopen_motion_control

Folders and files

NameName
Last commit message
Last commit date

Latest commit

cda4492 · Sep 18, 2021

History

1 Commit
Sep 18, 2021
Sep 18, 2021
Sep 18, 2021
Sep 18, 2021
Sep 18, 2021
Sep 18, 2021
Sep 18, 2021
Sep 18, 2021
Sep 18, 2021
Sep 18, 2021
Sep 18, 2021

Repository files navigation

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published