Git Product home page Git Product logo

hector_simulation's Introduction

Hector Open-source Simulation Software in ROS

HECTOR: Humanoid for Enhanced ConTrol and Open-source Research

This branch contains the ROS+Gazebo simulation for the Hector humanoid robot.

For humanoid ROS model with arms use the ROS_Humanoid_Simulation branch.

Introduction Video: https://youtu.be/NcW-NFwjMh0

Dependencies:

sudo apt-get install ros-noetic-controller-manager ros-noetic-ros-control ros-noetic-ros-controllers ros-noetic-joint-state-controller ros-noetic-effort-controllers ros-noetic-velocity-controllers ros-noetic-position-controllers ros-noetic-robot-controllers ros-noetic-robot-state-publisher ros-noetic-gazebo-ros-pkgs ros-noetic-gazebo-ros-control

System Requirements:

If you want to simulate with Gazebo, we recommend x86 platform. ARM platform is not suggested for simulation. So, if you run this code on ARM platform, please remove Simulation related folder first.

The current system environment is:

  • Ubuntu 20.04 + ROS Noetic* (recommended, tested stable)

Configuration:

Use command to open .bashrc file:

  • gedit ~/.bashrc

Make sure the following exist in your ~/.bashrc file or export them in terminal. noetic, gazebo-11 and ~/catkin_ws should be replaced in your own case.

source /opt/ros/noetic/setup.bash
source /usr/share/gazebo-11/setup.sh
source ~/catkin_ws/devel/setup.bash
export ROS_PACKAGE_PATH=~/catkin_ws:${ROS_PACKAGE_PATH}
export GAZEBO_PLUGIN_PATH=~/catkin_ws/devel/lib:${GAZEBO_PLUGIN_PATH}
export LD_LIBRARY_PATH=~/catkin_ws/devel/lib:${LD_LIBRARY_PATH}

Build:

  • cd ~/catkin_ws
  • catkin_make

NOTE: If it is the first time to compile, Please compile the laikago_msgs first by following command:

complie the package

  • catkin_make -DCMAKE_BUILD_TYPE=Release

launch and run gazebo simulation:

  • roslaunch unitree_gazebo biped.launch The robot should be standing on the ground

  • In a new terminal, enter and source your workspace, then run: rosrun hector_control hector_ctrl

  • Click the start button at the bottom of the simulator, the robot should stand up/move away

  • In some occasions the controller does not kick in after starting, please terminate the controller with ctrl + \. Then go back to the simulator, pause, and reset (ctrl + R). Rerun controller.

Keyboard Control:

  • Inside the terminal window, use W or S to control x direction speed
  • Use A or D to control robot turning (TODO: seems to have a small bug when turning past 90 degrees)
  • Use J or L to control y direction speed

Cite Us:

Thank you for choosing our software for your research and development, we highly appreciate your citing our work:

  1. HECTOR Project: "Dynamic Loco-manipulation on HECTOR: Humanoid for Enhanced ConTrol and Open-source Research" https://arxiv.org/pdf/2312.11868.pdf
@article{li2023dynamic,
  title={Dynamic Loco-manipulation on HECTOR: Humanoid for Enhanced ConTrol and Open-source Research},
  author={Li, Junheng and Ma, Junchao and Kolt, Omar and Shah, Manas and Nguyen, Quan},
  journal={arXiv preprint arXiv:2312.11868},
  year={2023}
}
  1. Force-and-moment-based Locomotion MPC: "Force-and-moment-based model predictive control for achieving highly dynamic locomotion on bipedal robots" https://arxiv.org/abs/2104.00065
  @inproceedings{li2021force,
  title={Force-and-moment-based model predictive control for achieving highly dynamic locomotion on bipedal robots},
  author={Li, Junheng and Nguyen, Quan},
  booktitle={2021 60th IEEE Conference on Decision and Control (CDC)},
  pages={1024--1030},
  year={2021},
  organization={IEEE}
}

Contact Information:

Junheng Li -- [email protected] Yiyu Chen -- [email protected]

License

Please read the License.md for details.

Acknowledgement:

The authors would like to express special thanks to MIT Biomimetic Lab for providing the cheetah MPC framework and Unitree Robotics for providing the Unitree gazebo simulation framework.

hector_simulation's People

Contributors

junhengl avatar oskooo avatar yiyuc avatar zy17740963779 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.