README.md
June 27, 2025 · View on GitHub
BestMan: A Versatile Mobile Manipulation Platform with Seamless Sim2Real Integration and Modular Algorithm Deployment
College of Computer Science,Chongqing University Shanghai AI Laboratory
State Key Laboratory of Mechanical Transmission for Advanced Equipment, Chongqing University

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
- 📋 Contents
- 🔥 News
- 🎯 Framework
- 🏠 Getting Started
- 👨💻 Examples
- 📝 TODO List
- 🤝 Reference
- 👏 Acknowledgements
- 🚀 Working citing BestMan
🔥 News
- [2025-02] We released version 0.3.0, long version of the paper submitted to IROS 2025.
- [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

🏠 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.
👨💻 Examples
🚀 Run
Enter Examples directory and run the demos. You can also modify the parameters corresponding to the demo.
🎇 Render
open microwave demo in Overview before blender rendering:
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:
- Install the
pyBulletSimImporter.pyplugin under Visualization/blender-render directory in blender (Edit->Preferences->Add-ons->Install) (test on blender3.6.5) , and enalbe this plugin.
-
Set
blender: Turein Config/xxx.yaml. -
After running the demo, a pkl file will be generated and saved in Examples/record dir
-
Import the pkl files into blender.
Note: This will freeze the current blender window before the processing is completed, please wait.
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
- [x] Release the platform with basic modules、functions and demos.
- [x] Polish APIs, related codes, and release documentation.
- [x] 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
Paper describing this work has been published in Frontiers of Computer Science (FCS) special column "Code & Data". link
Cited as:
Kui YANG, Nieqing CAO, Beichen SHAO, Xingchen WANG, Yan DING, Chao CHEN. BestMan: a modular mobile manipulator platform for embodied AI with unified simulation-
hardware APIs. Front. Comput. Sci., 2025, 19(9): 199361 https://doi.org/10.1007/s11704-025-41109-6
👏 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.