KENTARO WADA

Thank you for visiting. This is my personal page.

Google Summer of Code 2016
Reactive and Adaptive Path Planning
Using Sensor Feedback and Operator Input
Kentaro Wada

Last Edit: 2016-08-22 14:07:51

Basic Information

  • Student Name: Kentaro Wada (www.kentaro.wada@gmail.com)
  • Project Page: here
  • Title: "Reactive and Adaptive Path Planning Using Sensor Feedback and Operator Input"
  • Mentors: Shaun Edwards (shaunedwards@gmail.com), Fred Proctor
  • Organization: Open Source Robotics Foundation

Project Details

Reactive and adaptive planning is necessary in situations with unknown environment, few sensors and many occlusions. Reactiveness is the mechanism to avoid collision and adaptiveness is one to complete the task. The inputs to achieve these mechanisms are sensor inputs and user operations. Based on these prerequisites, I created a system for reactive and adaptive planning as shown in below:

The part of the system consists of a simulator, but the component, Simulator, can be replaced by the real robot. The inputs are provided the simulated sensor and a user in the system. Using these inputs, the two mechanism are achieved with Stop execution and Re-planning: the former is a function for reactiveness and the latter is one for adaptiveness. As a reactiveness, the system needs to stop the joint trajectory execution of the robot to avoid collision in an environment, and as a adaptiveness the system needs to re-plan the joint trajectory to complete the task based on the information at stopping execution.

In this project I worked for the two functions, stop execution and re-planning, and also the required components in the above system. The sections afterward describes about the complete/incomplete things of this project, and the prefix in the title (eg. [Reactive], [Simulator]) represents what are the changes for.

Complete Things: Merged PRs and Fixed Issues

This section provides the completed PRs/Issues in this GSoC project. Some of them are not completed by alone myself, and completed by the cooperation with maintainers of other open source projects.

  • [Reactive] Stop execution on motion planning rviz plugin: ros-planning/moveit_ros#709

    This function is required to stop trajectory execution by operator inputs, and for the reactiveness in the system. I created a GUI to achieve this function and sent PR to one of the repos of MoveIt!. In the end, this PR is closed (not merged) and one of the maintainers provided another PR with similar changes. The reason my PR is rejected is the missing feature to disable the button until the trajectory execution is completed. The maintainer knew a simpler implementation for this than mine, and he provided the PR and merged. The result is shown in below movie:

Left Things: PRs and Issues to be Merged and Closed

This section provides the left PRs/Issues in this GSoC project. This means the project is not yet 100% complete. The things left to do are listed below.

Demonstrations of What is Achieved by this Project

This section provides some demonstrations to show what is achieved by this project.

Conclusions

For reactive and adaptive planning, functions for stopping trajectory execution and re-planning are necessary. I completed most of the features for reactiveness but there are still some open issues for re-planning: #issue_moveit_scene, #issue_octomap_contact. The demonstrations above shows the system is effective in a situation with few sensors and occlusions, but the completely automated planning using only sensor inputs not operator inputs is not yet tackled. It is one of the future works.

Other Resources Created in the Project

ROS workspace for code which is not yet merged

  • Setup ROS following this link
  • Setup ROS workspace with commands below:
    mkdir -p ~/ros/gsoc_ws/src
    cd ~/ros/gsoc_ws/src
    wget https://raw.githubusercontent.com/wkentaro/gsoc-2016/master/rosinstall -O .rosinstall
    wstool up
    cd ..
    catkin build

Presentation Documents for ROS Industrial Monthly Meeting

Contact to me! :)