Skip to content

yding25/BestMan_Pybullet

 
 

Repository files navigation


BestMan: A Modular Mobile Manipulator Platform for Embodied AI with Unified Simulation-Hardware APIs

Chongqing University    Shanghai AI Laboratory    Xi'an Jiaotong-Liverpool University

arxiv paper GitHub license pre-commit Code style: black Imports: isort Document

Welcome to the official repository of BestMan!

A mobile manipulator (with a wheel-base and arm) platform built on PyBullet simulation with unified hardware APIs.

📋 Contents

🔥 News

  • [2024-11] We released version 0.2.0, optimizing modules such as Install and Robotics API.
  • [2024-10] We release the paper of BestMan.

🎯 Framework

Framework

🏠 Getting Started

Prerequisites

Note: We recommand Ubuntu 22.04 and python version deault to 3.8.

  • Ubuntu 20.04, 22.04
  • Conda
    • Python 3.8, 3.9, 3.10

Installation

We provide the installation guide here. You can install locally or use docker and verify the installation easily.

👨‍💻 Basic Demos

🌏 Overview

demos.mp4

🚀 Run

Enter Examples directory and run the demos. You can also modify the parameters corresponding to the demo.

🎇 Blender Render

open microwave demo in Overview before blender rendering:

open_microwave.mp4


We have improved the pybullet-blender-recorder to import pybullet scene into blender for better rendering

If you want to enable pybullet-blender-recorder, please:

  1. Install the pyBulletSimImporter.py plugin under Visualization/blender-render directory in blender (Edit->Preferences->Add-ons->Install) (test on blender3.6.5) , and enalbe this plugin.
image
  1. Set blender: Ture in Config/xxx.yaml.

  2. After running the demo, a pkl file will be generated and saved in Examples/record dir

  3. Import the pkl files into blender.

Note: This will freeze the current blender window before the processing is completed, please wait.

image

Note: If the demo contains too many frames, you can change pyBulletSimImporter.py: ANIM_OT_import_pybullet_sim(): skip_frames parameters and reinstall in blender to reduce the number of imported frames.


📝 TODO List

  • Release the platform with basic modules、functions and demos.
  • Polish APIs, related codes, and release documentation.
  • Release the paper with framework and demos Introduction.
  • Release the baseline models and benchmark modules.
  • Dynamically integrate digital assets.
  • Comprehensive improvement and further updates.

🤝 Reference

If you find this work useful, please consider citing:

@inproceedings{Yang2024BestManAM,
  title={BestMan: A Modular Mobile Manipulator Platform for Embodied AI with Unified Simulation-Hardware APIs},
  author={Kui Yang and Nieqing Cao and Yan Ding and Chao Chen},
  year={2024},
  url={https://api.semanticscholar.org/CorpusID:273403368}
}

👏 Acknowledgements

We would like to express our sincere gratitude to all the individuals and organizations who contributed to this project.

For a detailed list of acknowledgements, please refer to appendix.

🚀 Working citing BestMan

Research has already been conducted based on the BestMan platform. If you are interested, please visit here for more details.

About

Codebase for the 'BestMan' Mobile Manipulator

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.7%
  • Shell 0.3%