Code Monkey home page Code Monkey logo

sai2-primitives's Introduction

sai2-primitives

This is a control library that provides an implementation of basic tasks and primitives for a robot. It uses the Operatinal Space framework. It offers the possibility to be used with the Reflexxes library for trajectory generation (Type II and IV).

Each task is used in a similar manner. At creation, it requires a robot model and an operational space point (and sensors locations if applicable) There is a function called updateTaskModel that needs to be called after the robot model has been updated in order to compute the task inertia and nullspace projections. There is a function called computeTorques that computes the robot joint torques that will contribute to this task (needs to be called each control loop) There are member variable inputs like the gains and the desired position/orientation/force.

Dependencies

sai2-primitives depends on sai2-model and Eigen3.

The examples depend on additional libraries : sai2-simulation, sai2-graphics, sai2-common.

Build instructions

mkdir build
cd build
cmake .. && make -j4

Using Reflexxes Library

If you want to use the Reflexxes Library, you need to get it from Here (Type II is free) and building it following their instructions. Then, in the CMakelists.txt file you will see an option "USE_OTG" that you need to put to ON, and you need to specify you path to "OTG_SOURCE_DIR" and "OTG_LIBRARY" in the CMakelists.txt file. Then, in the tasks, if you set the "use_interpolation_flag" to true, the task will automatically interpolate between the robot current position and desired position with the specified limits on velocity, acceleration and jerk.

Run the examples

Remember that you need sai2-simulation, sai2-graphics and sai2-common in order to compile and run the examples. Go to build/examples/desired_example and run the example. For example 2 :

cd build/examples/01-puma_control_posori_tasks
./01-puma_control_posori_tasks

sai2-primitives's People

Contributors

mikael-jorda avatar margotvulliez avatar a-piedra avatar egalbally avatar

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.