[Paper Review] qiBullet, a Bullet-based simulator for the Pepper and NAO robots
This paper introduces qiBullet, an open-source, physics-based simulator for the Pepper and NAO robots using the Bullet physics engine and PyBullet. It enables accurate, cross-platform simulation of robot dynamics, sensors, and control via a NAOqi-like Python API or ROS interface, supporting parallel simulation instances and applications in reinforcement learning, workspace analysis, and task validation.
The Pepper and NAO robots are widely used for in-store advertizing and education, but also as robotic platforms for research purposes. Their presence in the academic field is expressed through various publications, multiple collaborative projects, and by being the standard platforms of two different RoboCup leagues. Developing, gathering data and training humanoid robots can be tedious: iteratively repeating specific tasks can present risks for the robots, and some environments can be difficult to setup. Software tools allowing to simulate complex environments and the dynamics of robots can thus alleviate that problem, allowing to perform the aforementioned processes on virtual models. One current drawback of the Pepper and NAO platforms is the lack of a physically accurate simulation tool, allowing to test scenarios involving repetitive movements and contacts with the environment on a virtual robot. In this paper, we introduce the qiBullet simulation tool, using the Bullet physics engine to provide such a solution for the Pepper and NAO robots.
Motivation & Objective
- To address the lack of a physically accurate simulation tool for Pepper and NAO robots in research and development.
- To enable safe, repeatable testing of complex robot behaviors, such as repetitive motions and environmental interactions, without risking physical hardware.
- To provide a cross-platform, open-source simulation environment that supports machine learning workflows, including reinforcement learning and synthetic data generation.
- To ensure seamless integration with existing robotics software stacks via NAOqi API emulation and ROS interface.
- To facilitate the development and validation of robot control policies before real-world deployment.
Proposed method
- The simulator is built on the Bullet physics engine and PyBullet Python module to ensure high-fidelity dynamics simulation and cross-platform compatibility.
- Robot models are defined using Unified Robot Description Format (URDF) files, including mass, inertia, joint configurations, and mesh-based visual and collision models.
- A Python-based qiBullet API is implemented to mimic the NAOqi API, enabling transparent control of virtual robots similar to real ones.
- A ROS wrapper is provided to emulate the naoqi_driver ROS package, allowing integration with ROS-based robotics pipelines.
- The simulator supports multiple independent simulation instances, enabling parallel execution for scalable training and testing.
- Sensors such as RGB and depth cameras, laser scanners, and odometry are modeled to match real robot specifications, with configurable resolution and realistic data output.
Experimental results
Research questions
- RQ1Can a physics-based simulator accurately replicate the dynamics and sensor behavior of the Pepper and NAO robots for research use?
- RQ2How effectively can the simulator support machine learning workflows, including reinforcement learning and synthetic data generation?
- RQ3To what extent does the simulator enable safe, repeatable testing of robot behaviors like walking, grasping, and workspace exploration?
- RQ4How well does the NAOqi API emulation and ROS interface integration support interoperability with existing robotics software stacks?
- RQ5Can the simulator be used to detect potential issues in robot control policies before real-world deployment?
Key findings
- qiBullet successfully enables the simulation of Pepper and NAO robots with accurate physics, including joint control, sensor data, and collision detection.
- The simulator supports up to 10 parallel simulation instances, each capable of independently running tasks such as workspace exploration and grasping.
- A right and left arm workspace for Pepper was computed with 40,000 valid configurations, visualized with normalized manipulability values using RViz.
- The grasping scenario demonstrated the simulator’s ability to test object interaction with realistic physical properties using the Bullet engine.
- The walking task evaluation confirmed that the simulator can assess balance and stability under different control algorithms.
- The simulator has been released as open-source on GitHub with automated testing and a PyPI package for easy installation and distribution.
Better researchstarts right now
From reading papers to final review, dramatically reduce your research time.
No credit card · Free plan available
This review was created by AI and reviewed by human editors.