Giter Club home page Giter Club logo

mike-depth-footstep-planner's Introduction

Footstep Planning for Humanoid Robots Using Perception-based Feasible Footsteps in Cluttered Environments

Rviz-depth-footstep-planning.gif

By Mike Simon

This repository contains the source code and documentation for my Master's thesis submitted in fulfillment of the requirements for the Master’s Degree in Control and Robotics, Specialty Robotics. The research focuses on developing an enhanced footstep planning algorithm for humanoid robots navigating cluttered environments, leveraging neural networks to pre-analyze the terrain and improve the efficiency of the ARA* algorithm's search expansion.

Abstract

This work introduces an improvement to the footstep planning algorithm by utilizing neural networks for a preliminary analysis of the environment, thereby accelerating the search expansion process of the ARA* algorithm. The methodology encompasses several stages, starting from analyzing the terrain map with deep learning and neural networks based on a modified U-Net architecture. This is followed by a 2D expansion algorithm that propagates through the terrain map, serving as a heuristic cost function for the footstep planning process. A significant contribution of this research is the adaptation of an existing software package to map the planned footsteps from a 2D environment to a 3D one using the Robot Operating System (ROS). The findings of this study offer a foundational step towards further advancements in path planning algorithms and environmental modeling for humanoid robots.

Master-Thesis.png

Keywords:

Path Planning, Footstep Planning, Deep Learning, Environment Analysis, Humanoid Robots, Robotic Operating System (ROS), FCN

Master Thesis:

you can download the Thesis (in Arabic) from the Higher Institute for Applied Sciences and Technology website or here PDF

Dependencies

This project relies on various ROS packages and external libraries to function properly. Below is a list of dependencies required to build and run the depth_footstep_planner package:

ROS Packages:

  • depthmap_humanoid_msgs: Custom message definitions for depth maps in humanoid robotics (assumed to be a custom package not found in standard ROS distributions).
  • humanoid_nav_msgs: Custom message definitions used in humanoid navigation (assumed to be a custom package not found in standard ROS distributions).
  • nav_msgs: Contains common messages that are used to interact with the navigation stack.
  • visualization_msgs: Contains messages for visualizing data such as markers in tools like RViz.

External Libraries and Additional Dependencies:

  • PyTorch: For PyTorch, please follow the official PyTorch installation guide to install it according to your system configuration and CUDA compatibility (required for UNET model).

  • Boost System:

    sudo apt-get install libboost-system-dev
  • OpenCV (Open Source Computer Vision Library): OpenCV is typically included in ROS desktop-full installations. If not, it can be installed using:

    sudo apt-get install libopencv-dev
  • SBPL:

    The SBPL library might need to be installed from source if not available in your ROS distribution:

    git clone https://github.com/sbpl/sbpl.git
    cd sbpl
    mkdir build
    cd build
    cmake ..
    make
    sudo make install

Setup and Installation

Instructions for setting up the environment and installing dependencies:

# Clone the repository
git clone https://github.com/mike1simon/Mike-depth-footstep-planner.git

# Navigate to the repository
cd Mike-depth-footstep-planner

# Setup ROS environment (prefered ROS Noetic)
source /opt/ros/noetic/setup.bash

# Install required ROS packages and dependencies (also follow previous steps)
rosdep install --from-paths src --ignore-src -r -y

# Build the packages (might gives error on the first try due to building msgs 
# (I still have to seperate the custom messages in a different package))
catkin_make

Running the Footstep Planner

To run the footstep planner with a sample environment:

# Source the setup script
source devel/setup.bash

# Launch the simulation environment
roslaunch depth_footstep_planner footstep_planner_complete.launch

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

Acknowledgments

This work is built on the existing ros humanoid stack packages, more details about that including the reference papers exist ros footstep_planner

I would like to express my gratitude to my supervisors (PhD. Michel Alsaba & PhD. Iyad Hatem) and the robotics department for their guidance and support throughout this research.

mike-depth-footstep-planner's People

Contributors

mike1simon avatar

Stargazers

张志诚 avatar Noh.SW avatar

Watchers

 avatar

Forkers

mohd-osama-47

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.