Git Product home page Git Product logo

seiko_controller_code's Introduction

SEIKO Controller:
Multi-Contact Whole-Body Force Control for Position-Controlled Robots

Website: https://hucebot.github.io/seiko_controller_website
Video: https://youtu.be/RGkZS57_6Nk
Paper: https://ieeexplore.ieee.org/abstract/document/10517393
ArXiv: https://arxiv.org/abs/2312.16465
HAL: https://hal.univ-lorraine.fr/hal-04362547
Authors: Quentin Rouxel, Serena Ivaldi, Jean-Baptiste Mouret

SEIKO Talos Multi-Contact

This repository contains the implementation of SEIKO (Sequential Equilibrium Inverse Kinematic Optimization) associated with the paper Multi-Contact Whole-Body Force Control for Position-Controlled Robots, developed at INRIA Nancy, Larsen Team, in 2023 ; and the paper Multicontact Motion Retargeting Using Whole-Body Optimization of Full Kinematics and Sequential Force Equilibrium, developed at the University of Edinburgh in 2021. This is the code that was run on the Talos humanoid robot during multi-contact experiments. This repository does NOT include the implementation of various tests, simulation environment, viewer and human-interface used to teleoperate the robot.

Implementation Overview

SEIKO Pipeline Architecture

  • Implementation of SEIKO Retargeting QP, Cartesian input commands processing and contact switch procedure:
inria_model/include/inria_model/SEIKORetargeting.hpp
inria_model/src/SEIKORetargeting.cpp
inria_model/include/inria_model/SEIKOWrapper.hpp
inria_model/src/SEIKOWrapper.cpp
  • Parameters of SEIKO Retargeting for Talos robot:
inria_model/include/inria_model/SEIKOTalos.hpp
inria_model/src/SEIKOTalos.cpp
  • Implementation of SEIKO Controller QP:
inria_model/include/inria_model/SEIKOController.hpp
inria_model/src/SEIKOController.cpp
  • Main controller pipeline thread running at 500 Hz:
inria_controller/include/inria_controller/TaskSEIKO.hpp
inria_controller/src/TaskSEIKO.cpp
  • ROS_Control lowlevel controller running in position-control mode at 2 kHz and performing joint position commands interpolation and safety checks:
inria_controller/include/inria_controller/ControllerBase.hpp
inria_controller/src/ControllerBase.cpp
inria_controller/include/inria_controller/ControllerTalos.hpp
inria_controller/src/ControllerTalos.cpp
  • Wrappers around RBDL and Pinocchio libraries to manipulate the robot's model:
inria_model/include/inria_model/Model.hpp
inria_model/src/Model.cpp
inria_model/include/inria_model/PinocchioInterface.hpp
inria_model/src/PinocchioInterface.cpp
  • URDF model of the Talos robot with 3d-printed ball-shaped right hand effector:
inria_talos_description/urdf/talos_stump.urdf
  • Starting script to load and run the ROS_Control controller on the robot:
inria_controller/scripts/startTalos.sh

Dependencies

This implementation is intended to be compiled with catkin under ROS Melodic. It requires the following catkin packages:

Citation

SEIKO Controller:

@article{rouxel2024multicontact,
  title={Multi-Contact Whole-Body Force Control for Position-Controlled Robots},
  author={Rouxel, Quentin and Ivaldi, Serena and Mouret, Jean-Baptiste},
  journal={IEEE Robotics and Automation Letters},
  year={2024},
  publisher={IEEE}
}

SEIKO Retargeting:

@article{rouxel2022multicontact,
    title={Multicontact motion retargeting using whole-body optimization of full kinematics and sequential force equilibrium},
    author={Rouxel, Quentin and Yuan, Kai and Wen, Ruoshi and Li, Zhibin},
    journal={IEEE/ASME Transactions on Mechatronics},
    volume={27},
    number={5},
    pages={4188--4198},
    year={2022},
    publisher={IEEE}
}

License

Licensed under the BSD License

seiko_controller_code's People

Contributors

leph avatar

Stargazers

ChengJinyu6 avatar  avatar cd01 avatar Jiyu Yu avatar  avatar JIA Xinyu avatar Frieden_Ls avatar Vito avatar  avatar  avatar  avatar duan zhan avatar  avatar

Watchers

 avatar Enrico Mingo Hoffman avatar JB Mouret avatar  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.