.. include:: <isonum.txt>

# Getting Started with Romi

The Romi is a small and inexpensive robot designed for learning about programming FRC\ |reg| robots. All the same tools used for programming full-sized FRC robots can be used to program the Romi. The Romi comes with two drive motors with integrated wheel encoders. It also includes an :term:`IMU` sensor that can be used for measuring headings and accelerations. Using it is as simple as writing a robot program, and running it on your computer. It will command the Romi to follow the steps in the program.

.. tip:: A course that teaches programming using the Romi Robot is available via [FIRST Training](https://training.firstinspires.org/catalog?labels=%5B%22Topics%22%5D&values=%5B%22Programming%22%5D). [Part 1](https://training.firstinspires.org/courses/java-programming-part-1) takes users through setup of the hardware and software, methods, objects, conditionals, variables, and equations. [Part 2](https://training.firstinspires.org/courses/java-programming-part-2) covers command based programming, driving and inputs, advanced conditionals and logical operators, command groups, arrays, and loops, and errors and troubleshooting.

.. image:: images/romi.png
   :alt: Romi Robot

.. toctree::
   :maxdepth: 1

   hardware
   imaging-romi
   getting-to-know-romi
   hardware-support
   web-ui
   programming-romi
   programming-romi-in-labview
