GithubHelp home page GithubHelp logo

sichitong / linux-robotic-arm Goto Github PK

View Code? Open in Web Editor NEW

This project forked from oxavelar/linux-robotic-arm

0.0 1.0 0.0 288 KB

A scalable Linux robotic arm userspace application using forward kinematics and inverse kinematics in a threaded control framework

C++ 80.74% Makefile 3.77% Shell 15.49%

linux-robotic-arm's Introduction

Linux-Robotic-Arm

The demo and application models a 2RR arm on a Intel Edison system running Linux.

It makes use of inverse and forward kinematics calculations on different position sensors in order to obtain the rotor angular state, and then spawns unique control threads per joint in order to keep the joints to the reference/target angle value.

Layered SW Architecture

Class Structure

A robot joint is formed by a positioning (imaging/encoder) and movement (actuator/motor) objects, by having this abstraction we can make a robotic arm operate with different layers and or objects.

Testing has shown and we would recomend tweak the following parameters in the Linux scheduler through the sysctl.conf interface in order to get better response times.

kernel.sched_tunable_scaling = 0
kernel.sched_latency_ns = 120000
kernel.sched_min_granularity_ns = 200000
kernel.sched_wakeup_granularity_ns = 1000
kernel.sched_migration_cost_ns = 100000

As well as disabling C-States and P-States on the board by using

echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo performance > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
echo 1 > /sys/devices/system/cpu/cpu0/cpuidle/state1/disable
echo 1 > /sys/devices/system/cpu/cpu0/cpuidle/state2/disable
echo 1 > /sys/devices/system/cpu/cpu0/cpuidle/state3/disable
echo 1 > /sys/devices/system/cpu/cpu0/cpuidle/state4/disable

And also install irqbalance for a more responsive experience on multi-core systems.

I have tested the above parameters in an Intel Edison and an Intel Galileo board.

Contributors: Omar X. Avelar Juan C. Razo

linux-robotic-arm's People

Contributors

oxavelar avatar oxavelar-intel avatar

Watchers

 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.