Skip to content

AutonoBot-Lab/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.