Code Monkey home page Code Monkey logo

manipulationonthemove's Introduction

Manipulation On-The-Move

Why do mobile robots come to a stop when they grasp something or put something down? Humans are quite capable of performing such manipulation tasks while walking or even running. By performing tasks on-the-move overall execution time for multi-step tasks can be significantly reduced, and the resulting motion is more natural and graceful.

This project develops an architecture for allowing mobile manipulators to perform reactive manipulation tasks on-the-move. Reactive control allows for robust performance in complex, dynamic environments, such as grasping moving objects.

Paper available here

Project video here

Related work on holistic mobile manipulation

Robotics Toolbox for Python

Manipulation On-The-Move Banner

E1.S0.230503.1128.Trim.Compressed.mp4

Pick-and-Place Tasks

This video demonstrates performance of the architecture on a real-world mobile manipulator performing a pick-and-place task.

Manipulation On-The-Move Pick-and-Place

Compare this behaviour to a reactive baseline implementation which treats the grasping and placing as two separate tasks.

Baseline Pick-and-Place

Grasping Moving Objects

Closed-loop feedback from a camera in the palm and the reactive controller enables grasping of objects with unpredictable motion.

Frankie Pick-and-Place Moving Object

Complex, Multi-step Tasks

The generalised architecture allows for chaining of multiple actions and the execution of complex, multi-step tasks.

Frankie Pick-and-Place Loop

Even Faster Grasping

Even faster grasping can be achieved by allowing a relative velocity between gripper and object at the time of grasping. However, typical antipodal grippers close relatively slowly. This means that they must start closing long before they are near the object in order to succesfully grasp while moving past an object at speed. For reliable operation the timing for the start of gripper closing must be extremely precise. This method also imparts a large acceleration on the object as it is picked up, which may cause damage.

Even Faster Grasping

Manipulation On-The-Move with Obstacles

We are currently working towards extending our reactive architecture to performing manipulation on the move in environments with static and dynamic obstacles. The gif below shows some early results. The system is capable of avoiding static and dynamic obstacles while performing pick-and-place tasks on-the-move.

Manipulation On-The-Move with Obstacles

This video shows the same clip in realtime and synchronised with a visualisation of the robots understanding of the environment as mapped by the 2D lidar attached to the base.

Manipulation On-The-Move with Obstacles

Here we demonstrate our system performing a manipulation on-the-move task while sharing the space with, and avoiding, a second autonomous robot:

Manipulation On-The-Move in a Shared Environment

We also present a simulated experiment with 4 obstacle robots which results in more frequent interactions and avoidance manoeuvres.

Simulated Manipulation On-The-Move with Autonomous Dynamic Obstacles

Manipulation On-The-Move for Complex Tasks

We are also working on adding the capability to perform more complex tasks beyond pick-and-place. For example, in the simulated video below the robot must also open and close a set of drawers. In the future, we would like to implement other manipulation primitives that can be done on-the-move such as opening/closing doors, pressing buttons, turning valves, and more.

Simulated Manipulation On-The-Move with Drawers

Enabling Failure Recovery for Manipulation On-The-Move

Performing manipulation tasks on-the-move introduces a new challenge for graceful recovery in the event of inevitable failures. For example, if the robot fails to grasp an object while driving past, the object may no longer be within range by the time a second attempt is made. We have developed a base control method that keeps the robot near the object while performing grasps, while also making as much progress as possible toward the next goal in a task, performing grasps on-the-move where possible. More details are available here.

Failure Recovery for Manipulation On-The-Move

This video shows a comparison with two baseline methods.

Failure Recovery Baseline Comparison

Simulation Environment

To assist in devlopment we built a simulation and visulalisation environment in Unity. This simulation provides the same ROS interfaces as the real robot, allowing seamless testing. The environment also allows us to test our architecture on various robot platforms.

Unity Simulation

The simulation can also be used to investigate how the reactive architecture can be used to compensate for base disturbances. In the case shown below, the controller has no prior knowledge of the rolling base motion, but reacts to observations in order to stabilise the gripper in world space.

Simulation With Base Disturbances

Paper coming soon!

manipulationonthemove's People

Contributors

benburgesslimerick avatar

Stargazers

 avatar Yuhan Jin avatar Jung Yeon Lee avatar XiaoTuo avatar  avatar Pha1ton avatar Fanhong Li 李范红 avatar Adley Chin avatar LetianFu avatar Manoj M avatar  avatar Siyuan Wu avatar Haokun W avatar Danil Pavlenko avatar luqin avatar  avatar Danning Zhao avatar Nick Imanzi avatar Abhishek Kashyap avatar  avatar  avatar  avatar Lasse Peters avatar Lingkang Zhang avatar Ben Zhang avatar Michael Ferguson avatar  avatar  avatar Steven A. Silva avatar Wil Thomason avatar Christoforos Mavrogiannis avatar Andy Cai avatar  avatar  avatar mptangtang avatar Chengkai Wu avatar JinCheng Sun avatar Omotoye Shamsudeen Adekoya avatar  avatar Xuemin Chi avatar Mohamed Magdy avatar Zihong Yan avatar Josh Gadeken avatar William Emfinger avatar Nando Caponetto avatar Greg DeAngelis avatar Aaron Gunderson avatar Gailey Leseman avatar Sukrit Gupta avatar Tatsuya Matsushima avatar Sandalots avatar 爱可可-爱生活 avatar Ben Duffy avatar Ozgur Gulsuna avatar Jeremy avatar Onur Keskin, Ph.D. avatar Alex Alcón avatar Ting Chang avatar Fabian Dubois avatar Don Robert Pornaras avatar Adan Daniel Márquez Hernandez avatar  avatar Jonathan Spraggett avatar Michael avatar Bill avatar  avatar  avatar Linden avatar Sebastian Jahr avatar  avatar Liu Yi avatar  avatar Kade Turner avatar Qiao Gu avatar PKG avatar Jan Margeta avatar Shubham Agrawal avatar Sterling G. Baird avatar Asan Adamanov avatar Ryosuke Takanami avatar  avatar  avatar Hany Hamed avatar  avatar joonhyung-lee avatar Rika avatar Griswald Brooks avatar Raphael Fortuna avatar mpheng avatar Jianzhuang(Gian)_Zhao avatar Dimitrios Kanoulas avatar Benjamin avatar Salih Marangoz avatar Ayman Damoun avatar Max Spahn avatar Zipeng Fu avatar zcy avatar

Watchers

Tatsuya Matsushima avatar  avatar  avatar  avatar

manipulationonthemove's Issues

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.