2024-07-11 –, Function (4.1)
In this talk, we will introduce our new package, MuJoCo.jl, bringing the advanced physics simulator MuJoCo to fellow Julia users. We will highlight the features that this package gives to users and give an example of how to make best use of the package and its visualiser.
Link to the slides - https://mujoco-jc2024.netlify.app/
MuJoCo is an advanced, high-performance physics engine designed for accurate and fast simulation of robotic applications. The engine, provided by Google DeepMind, can be used by robotics researchers and practitioners to design, calibrate and test control software for robotic systems in a simulated environment. MuJoCo is also utilised by the machine learning community, enabling state-of-the-art Reinforcement Learning techniques to be applied to robotics, as such techniques require millions of hours of high quality training data to be effective.
By creating MuJoCo.jl. we aim to provide the Julia community with modern bindings to the MuJoCo physics engine, integrated with a visualisation tool to allow simulations to be rendered in real-time, without users ever having to leave the Julia ecosystem. Our design was guided by several goals, ensuring that the package:
1) Offers a high-performance thin wrapper around the existing C library, enabling users to exert fine-grained control over performance, including support for multi-threading.
2) Provides a user-friendly experience, complete with comprehensive documentation of structs and functions, as well as bounds checking on inputs.
3) Presents native Julia interfaces to directly access array/matrix data from the engine, facilitating interoperability with other packages.
This talk will start by showcasing some of the main features of MuJoCo.jl, followed by a detailed example, along with usage tips, of how to use the package and its visualiser.
This work builds on some amazing previous work by Lyceum, whose visualisation tools have been integrated directly into MuJoCo.jl via Julia's package extension framework.
Jamie Mair is a Research & Teaching Fellow at the University of Nottingham, where he instructs the Reinforcement Learning strand of the Machine Learning in Science Master's programme. Throughout his research career, Jamie has advocated for the use of Julia in academic research. He has delivered several internal talks and presentations aiming to introduce Julia to a wider audience. These resources have culminated and been developed into in a comprehensive lecture series, designed for postgraduate students, focusing on High Performance Computing using Julia.
Jamie received his PhD in Machine Learning and Statistical Physics, along with his BSc in Theoretical Physics from the University of Nottingham.