Giter Club home page Giter Club logo

arm-control's Introduction

Robot arm control tutorial with ros-control, moveit, etc.

arm_controllers is general robot arm controller. Elfin is 6-dof manipulator. elfin_description, elfin_gazebo is forked from [3], elfin_launch are added. elfin_control has controller and gain in yaml file.

Introduction

Implemented various control algorithm on 6-dof Elfin manipulator simulation using ros-control frameworks.

How to run

Prerequisite

Install gazebo-ros-pkgs and gazebo-ros-control

$ sudo apt-get install ros-noetic-gazebo-ros-pkgs ros-noetic-gazebo-ros-control

Install ros-controllers

$ sudo apt-get install ros-noetic-ros-controllers

Download and build

$ cd ~/catkin_ws/src
$ git clone https://github.com/modulabs/arm-control.git
$ cd ~/catkin_ws/
$ catkin_make

Run

Depending on the controller you want to run, use suitable launch file. If you want to use motion controller in joint space, then you may choose this controllers as follows:

$ roslaunch elfin_gazebo elfin3_empty_world.launch controller:=gravity_comp_controller
or
$ roslaunch elfin_gazebo elfin3_empty_world.launch controller:=time_delay_controller
or
$ roslaunch elfin_gazebo elfin3_empty_world.launch controller:=computed_torque_controller
or
$ roslaunch elfin_gazebo elfin3_empty_world.launch controller:=computed_torque_clik_controller
or
$ roslaunch elfin_gazebo elfin3_empty_world.launch controller:=passivity_controller

If you want to use motion controller in task space, then you may choose this controllers as follows:

$ roslaunch elfin_gazebo elfin3_empty_world.launch controller:=computed_torque_clik_controller

If you want to use motion and force controller in task space, then you may choose this controllers as follows:

$ roslaunch elfin_gazebo elfin3_experiment1_world.launch controller:=adaptive_impedance_controller
or
$ roslaunch elfin_gazebo elfin3_experiment2_world.launch controller:=adaptive_impedance_controller

If you want to plot data in rqt graph, use rqt_plot.launch file. Customize perspective files to plot data you need.

$ roslaunch rqt_plot.launch controller:=gravity_comp_controller

Reference

  1. ros-control
  2. Write a new ros-controller
  3. Elfin manipulator
  4. Tomei, A Simple PD Controller for Robots with Elastic Joints
  5. Slotine, On the Adaptive Control of Robot Manipulators
  6. Duan Jinjun, Adaptive variable impedance control

arm-control's People

Contributors

elton-choi avatar boarder88 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.