Selected Projects

I enjoy making things. Here are a selection of projects that I have worked on over the years.

UniEnv: Unifying Robot Environments and Data APIs

UniEnv: Unifying Robot Environments and Data APIs

Modern robotics research stands at a point where the pace of algorithmic innovation is often throttled by the fragmentation of the ecosystem. While the demand for general-purpose robot learning requires rapid evaluation and training across diverse scenarios, the current landscape is deeply divided. Researchers are frequently forced to navigate a disjointed collection of simulation environments, real-world hardware interfaces, and static dataset formats, each operating within isolated silos. This fragmentation is further compounded by the incompatibility of underlying computational frameworks. The divide between major tensor backends—such as PyTorch, JAX, and NumPy—often creates artificial barriers, forcing tedious data conversion and creating significant overhead during training loops. Furthermore, the lack of a standardized interface between disparate robot data formats (e.g., Open-X-Embodiment, Droid) and active environments complicates the utilization of large-scale pre-training data. UniEnv is designed to directly tackle these challenges by providing a unified, high-performance toolset for the next generation of robot learning. It serves as a drop-in replacement for standard Gymnasium interfaces but extends functionality to support multiple tensor backends seamlessly. By leveraging the DLPack protocol, UniEnv enables zero-copy data passing between frameworks, effectively removing the friction between simulation, real-world hardware, and deep learning libraries. With a suite of built-in utilities—including optimized replay buffers and environment wrappers—UniEnv offers a single, cohesive API that bridges the gap between diverse data sources and execution backends, empowering researchers to focus on solving complex control tasks rather than fighting integration overhead.