UAIbot: Effortless robotics simulation

Beginner-friendly web-based simulator for interactive robotics learning and research. Click and drag on the simulation below to interact with it in 3D!

Try it in Python Try it in JavaScript

With UAIBot you have:

  • Accessibility
    Use it from anywhere with an internet connection through Google Colab or locally in an IDE or Jupyter Notebook.
  • Easy-of-use
    Create simulations with a simple and intuitive API. Go as low-level or as high-level as you want. Share your simulations with others as HTML files.
  • Interactivity
    Be able to visualise and interact with your simulations in 3D. Go foward and backward in time, pause, and resume the simulation as you please.


“While teaching robotics, I used many different desktop-based simulators with my students (such as CoppeliaSim and Matlab Toolboxes). However, I realized that students nowadays are much more used to web-based applications. This is why I, together with my students, came with the idea of creating a simulator […]”

Vinicius Mariano Gonçalves
UAIbot co-creator

Frequently Asked Questions

What is UAIBot? UAIBot is a web-based multi-language robotic simulator. It is designed to provide an accessible and interactive platform for learning robotics. It can also be used for rapid prototyping of new control strategies in a research setting.
What can I use UAIBot for? UAIBot is primarily intended for simulating open-chain serial robotic manipulators. It allows you to create and visualize robotic scenarios, experiment with control algorithms, and gain hands-on experience in robotics programming.
Do I need to know Python to use UAIBot? While some knowledge of Python is beneficial, UAIBot is designed to be beginner-friendly. If you are new to Python, UAIBot provides an excellent opportunity to learn the language while exploring robotics concepts.
What are the differences between the Python and JavaScript versions of UAIBot? The Python version is primarily intended for computation and simulation setup, while the JavaScript version is focused on seamless integration with other web page elements. The Python version is also more feature-rich, with support for more complex robotic scenarios. The JavaScript version is more customizable and can be used to create more complex and interactive web pages.
Is UAIBot suitable for educational purposes? Yes, UAIBot is specifically designed with educational purposes in mind. Its low-level simulation approach allows students to have complete control over the simulation process, facilitating a deeper understanding of robotics principles.
Can I run UAIBot in a web browser? Yes, UAIBot is web-based and can be used in a web browser. It is compatible with platforms like Google Colab, making it accessible from anywhere with an internet connection.
How do I install UAIBot? UAIBot can be installed using pip. The installation instructions can be found in the UAIBot documentation or README file in the GitHub repository. The JavaScript version of UAIBot is an ES6 module and can be imported directly into a web page with a CDN.
Does UAIBot support other types of robots besides serial manipulators? While UAIBot's primary focus is on open-chain serial manipulators, it offers some limited support for other types of robots. However, continuous development may bring more features and support for different robotic systems.
Can I share UAIBot simulations with others? Yes, you can share your UAIBot simulations as HTML files. The interactive animations you create using Python can be saved and shared with friends, colleagues, or on web pages for educational purposes.
Does UAIBot require an internet connection to run simulations? UAIBot requires an internet connection to visualize the simulations since it utilizes Three.js, a JavaScript library, for rendering the animations. However, the simulation computations are performed locally, so an internet connection is not required during computation.
Is UAIBot free to use? Yes, UAIBot is an open-source project and is available for free to anyone interested in learning robotics with Python or JavaScript.
Can I contribute to UAIBot's development? Absolutely! UAIBot is an open-source project, and contributions from the community are welcomed. You can participate in its development by submitting issues, suggesting improvements, or even contributing code to the project's GitHub repository.
Why "UAIBot"? "Uai" is an interjection commonly used by mineiros, that is, people who where born in the state of Minas Gerais, Brazil. It is one of the regional symbols of Minas Gerais. It is pronounced like the english "why" and has roughly the same meaning, used when mineiros are confused or in doubt. Indeed, some linguistic researchers think that the origin of this interjection is exactly the english word "why".