csiro-robotics / syropod_highlevel_controller

OpenSHC: A Versatile Multilegged Robot Controller
Other
161 stars 33 forks source link
csiro hexapod hexapod-robot hexapod-ros legged-robots openshc robotics robotics-control robotics-simulation shc

Syropod High-level Controller

Syropod Banner

Version License

Syropod High-level Controller (SHC) is a versatile controller capable of generating body poses and gaits for quasi-static multilegged robots. This ROS package implemented in C++ can be easily deployed on legged robots with different sensor, leg and joint configurations. SHC is designed to generate foot tip trajectories for a given gait sequence, step clearance, step frequency and input body velocity. Input sensors such as IMU and joint effort feedback can be utilised by the controller to provide robust trajectories even in inclined and uneven terrain. SHC was developed at CSIRO’s Robotics and Autonomous Systems Group to support its ongoing legged robot locomotion research. It is now being released as an open-sourced package, along with tutorials, for the benefit of the wider community as OpenSHC. The banner image and the video clip below shows a number of CSIRO's legged robots running SHC.

Gizmo Wizmo Zero

Table of Contents

Getting Started

If you haven't looked at the tutorials for using OpenSHC, see OpenSHC Tutorials.

Please refer to the readme in the launch folder of individual platforms for information on setting up the platform for use with OpenSHC.

Video overview of OpenSHC:

OpenSHC

Requirements

Dependencies

Installation

mkdir -p openshc_ws/src
cd openshc_ws/src
git clone https://github.com/csiro-robotics/syropod_highlevel_controller.git
cd ..
catkin build

Publications

The details of OpenSHC is published in the following article:

B. Tam, F. Talbot, R. Steindl, A. Elfes and N. Kottege, "OpenSHC: A Versatile Multilegged Robot Controller," in IEEE Access, vol. 8, pp. 188908-188926, 2020, doi: 10.1109/ACCESS.2020.3031019.

How to cite

@article{tam2020openshc,
    author={Benjamin Tam and Fletcher Talbot and Ryan Steindl and Alberto Elfes and Navinda Kottege},
    title={OpenSHC: A Versatile Multilegged Robot Controller},
    journal={IEEE Access},
    year={2020},
    volume={8},
    number={},
    pages={188908-188926},
    doi={10.1109/ACCESS.2020.3031019}
}

Features

Bullet Syropod

Config Files

For information on parameters see readme.md in config folder.

Nodes

syropod_highlevel_control

Subscribed Topics

syropod_remote
syropod_manipulation
Motor and Sensor Inputs

Published Topics

Dynamixel Motor Interface
Miscellaneous

Changelog

See CHANGELOG.md for release details.

Authors

License

This project is licensed under the CSIRO Open Source Software Licence Agreement (variation of the BSD / MIT License) - see the LICENSE file for details.

Contributing

Thank you for being interested in contributing. We encourage the community to create new features and to fix bugs. If it is a new feature, please create a new issue via the Issue Tracker and describe the intended feature so that we can discuss the implementation. Else, search for the existing issue and comment on your proposed work. Please fork the repo, work on your changes and then send a pull request.

Issues

Please report bugs using Issue Tracker or contact us via email shc-support@csiro.au.