Repository Summary
| Description | |
| Checkout URI | https://github.com/nasa-jpl/osr-rover-code.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-10-22 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| osr_bringup | 0.0.0 |
| osr_control | 0.0.0 |
| osr_interfaces | 0.0.0 |
README
JPL Open Source Rover Code
This repository contains the code that runs on the Raspberry Pi (RPi) to control the JPL open source rover (osr).
The rover runs on ROS2 (tested on Foxy), and uses Python3.
Internals & structure
Please refer to README files associated with each folder for insight in how components work and what they do. This is also the place to look when you have modifications on your rover that require the code or parameters to be changed.
- The ROS overview gives an overview of the setup related to ROS and links to specific implementations such as how the drive and corner commands are being calculated
Simulation
A Dockerfile is provided to build and run the ROS2 stack, including the
Gazebo Classic simulation, without installing anything on your host
besides Docker.
docker build -t osr-rover-sim .
To run a node or launch file with a graphical window (e.g. Gazebo, RViz), the container needs
access to your display. The easiest way to get that without hand-rolling X11/GPU flags yourself is
rocker, which wires up the right flags for you:
pip install rocker
rocker --nvidia runtime --x11 osr-rover-sim
Only include --nvidia runtime if your machine has an NVIDIA GPU; omit it otherwise.
Inside the container:
ros2 launch osr_gazebo empty_world.launch.py
Setup
The setup directory contains tutorial files for getting everything setup and configured for running the rover code. You should proceed through them in the following order:
CONTRIBUTING
Repository Summary
| Description | |
| Checkout URI | https://github.com/nasa-jpl/osr-rover-code.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-10-22 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| osr_bringup | 0.0.0 |
| osr_control | 0.0.0 |
| osr_interfaces | 0.0.0 |
README
JPL Open Source Rover Code
This repository contains the code that runs on the Raspberry Pi (RPi) to control the JPL open source rover (osr).
The rover runs on ROS2 (tested on Foxy), and uses Python3.
Internals & structure
Please refer to README files associated with each folder for insight in how components work and what they do. This is also the place to look when you have modifications on your rover that require the code or parameters to be changed.
- The ROS overview gives an overview of the setup related to ROS and links to specific implementations such as how the drive and corner commands are being calculated
Simulation
A Dockerfile is provided to build and run the ROS2 stack, including the
Gazebo Classic simulation, without installing anything on your host
besides Docker.
docker build -t osr-rover-sim .
To run a node or launch file with a graphical window (e.g. Gazebo, RViz), the container needs
access to your display. The easiest way to get that without hand-rolling X11/GPU flags yourself is
rocker, which wires up the right flags for you:
pip install rocker
rocker --nvidia runtime --x11 osr-rover-sim
Only include --nvidia runtime if your machine has an NVIDIA GPU; omit it otherwise.
Inside the container:
ros2 launch osr_gazebo empty_world.launch.py
Setup
The setup directory contains tutorial files for getting everything setup and configured for running the rover code. You should proceed through them in the following order:
CONTRIBUTING
Repository Summary
| Description | |
| Checkout URI | https://github.com/nasa-jpl/osr-rover-code.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-10-22 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| osr_bringup | 0.0.0 |
| osr_control | 0.0.0 |
| osr_interfaces | 0.0.0 |
README
JPL Open Source Rover Code
This repository contains the code that runs on the Raspberry Pi (RPi) to control the JPL open source rover (osr).
The rover runs on ROS2 (tested on Foxy), and uses Python3.
Internals & structure
Please refer to README files associated with each folder for insight in how components work and what they do. This is also the place to look when you have modifications on your rover that require the code or parameters to be changed.
- The ROS overview gives an overview of the setup related to ROS and links to specific implementations such as how the drive and corner commands are being calculated
Simulation
A Dockerfile is provided to build and run the ROS2 stack, including the
Gazebo Classic simulation, without installing anything on your host
besides Docker.
docker build -t osr-rover-sim .
To run a node or launch file with a graphical window (e.g. Gazebo, RViz), the container needs
access to your display. The easiest way to get that without hand-rolling X11/GPU flags yourself is
rocker, which wires up the right flags for you:
pip install rocker
rocker --nvidia runtime --x11 osr-rover-sim
Only include --nvidia runtime if your machine has an NVIDIA GPU; omit it otherwise.
Inside the container:
ros2 launch osr_gazebo empty_world.launch.py
Setup
The setup directory contains tutorial files for getting everything setup and configured for running the rover code. You should proceed through them in the following order:
CONTRIBUTING
Repository Summary
| Description | |
| Checkout URI | https://github.com/nasa-jpl/osr-rover-code.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-10-22 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| osr_bringup | 0.0.0 |
| osr_control | 0.0.0 |
| osr_interfaces | 0.0.0 |
README
JPL Open Source Rover Code
This repository contains the code that runs on the Raspberry Pi (RPi) to control the JPL open source rover (osr).
The rover runs on ROS2 (tested on Foxy), and uses Python3.
Internals & structure
Please refer to README files associated with each folder for insight in how components work and what they do. This is also the place to look when you have modifications on your rover that require the code or parameters to be changed.
- The ROS overview gives an overview of the setup related to ROS and links to specific implementations such as how the drive and corner commands are being calculated
Simulation
A Dockerfile is provided to build and run the ROS2 stack, including the
Gazebo Classic simulation, without installing anything on your host
besides Docker.
docker build -t osr-rover-sim .
To run a node or launch file with a graphical window (e.g. Gazebo, RViz), the container needs
access to your display. The easiest way to get that without hand-rolling X11/GPU flags yourself is
rocker, which wires up the right flags for you:
pip install rocker
rocker --nvidia runtime --x11 osr-rover-sim
Only include --nvidia runtime if your machine has an NVIDIA GPU; omit it otherwise.
Inside the container:
ros2 launch osr_gazebo empty_world.launch.py
Setup
The setup directory contains tutorial files for getting everything setup and configured for running the rover code. You should proceed through them in the following order:
CONTRIBUTING
Repository Summary
| Description | |
| Checkout URI | https://github.com/nasa-jpl/osr-rover-code.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-10-22 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| osr_bringup | 0.0.0 |
| osr_control | 0.0.0 |
| osr_interfaces | 0.0.0 |
README
JPL Open Source Rover Code
This repository contains the code that runs on the Raspberry Pi (RPi) to control the JPL open source rover (osr).
The rover runs on ROS2 (tested on Foxy), and uses Python3.
Internals & structure
Please refer to README files associated with each folder for insight in how components work and what they do. This is also the place to look when you have modifications on your rover that require the code or parameters to be changed.
- The ROS overview gives an overview of the setup related to ROS and links to specific implementations such as how the drive and corner commands are being calculated
Simulation
A Dockerfile is provided to build and run the ROS2 stack, including the
Gazebo Classic simulation, without installing anything on your host
besides Docker.
docker build -t osr-rover-sim .
To run a node or launch file with a graphical window (e.g. Gazebo, RViz), the container needs
access to your display. The easiest way to get that without hand-rolling X11/GPU flags yourself is
rocker, which wires up the right flags for you:
pip install rocker
rocker --nvidia runtime --x11 osr-rover-sim
Only include --nvidia runtime if your machine has an NVIDIA GPU; omit it otherwise.
Inside the container:
ros2 launch osr_gazebo empty_world.launch.py
Setup
The setup directory contains tutorial files for getting everything setup and configured for running the rover code. You should proceed through them in the following order:
CONTRIBUTING
Repository Summary
| Description | |
| Checkout URI | https://github.com/nasa-jpl/osr-rover-code.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-10-22 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| osr_bringup | 0.0.0 |
| osr_control | 0.0.0 |
| osr_interfaces | 0.0.0 |
README
JPL Open Source Rover Code
This repository contains the code that runs on the Raspberry Pi (RPi) to control the JPL open source rover (osr).
The rover runs on ROS2 (tested on Foxy), and uses Python3.
Internals & structure
Please refer to README files associated with each folder for insight in how components work and what they do. This is also the place to look when you have modifications on your rover that require the code or parameters to be changed.
- The ROS overview gives an overview of the setup related to ROS and links to specific implementations such as how the drive and corner commands are being calculated
Simulation
A Dockerfile is provided to build and run the ROS2 stack, including the
Gazebo Classic simulation, without installing anything on your host
besides Docker.
docker build -t osr-rover-sim .
To run a node or launch file with a graphical window (e.g. Gazebo, RViz), the container needs
access to your display. The easiest way to get that without hand-rolling X11/GPU flags yourself is
rocker, which wires up the right flags for you:
pip install rocker
rocker --nvidia runtime --x11 osr-rover-sim
Only include --nvidia runtime if your machine has an NVIDIA GPU; omit it otherwise.
Inside the container:
ros2 launch osr_gazebo empty_world.launch.py
Setup
The setup directory contains tutorial files for getting everything setup and configured for running the rover code. You should proceed through them in the following order:
CONTRIBUTING
Repository Summary
| Description | |
| Checkout URI | https://github.com/nasa-jpl/osr-rover-code.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-10-22 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| osr_bringup | 0.0.0 |
| osr_control | 0.0.0 |
| osr_interfaces | 0.0.0 |
README
JPL Open Source Rover Code
This repository contains the code that runs on the Raspberry Pi (RPi) to control the JPL open source rover (osr).
The rover runs on ROS2 (tested on Foxy), and uses Python3.
Internals & structure
Please refer to README files associated with each folder for insight in how components work and what they do. This is also the place to look when you have modifications on your rover that require the code or parameters to be changed.
- The ROS overview gives an overview of the setup related to ROS and links to specific implementations such as how the drive and corner commands are being calculated
Simulation
A Dockerfile is provided to build and run the ROS2 stack, including the
Gazebo Classic simulation, without installing anything on your host
besides Docker.
docker build -t osr-rover-sim .
To run a node or launch file with a graphical window (e.g. Gazebo, RViz), the container needs
access to your display. The easiest way to get that without hand-rolling X11/GPU flags yourself is
rocker, which wires up the right flags for you:
pip install rocker
rocker --nvidia runtime --x11 osr-rover-sim
Only include --nvidia runtime if your machine has an NVIDIA GPU; omit it otherwise.
Inside the container:
ros2 launch osr_gazebo empty_world.launch.py
Setup
The setup directory contains tutorial files for getting everything setup and configured for running the rover code. You should proceed through them in the following order:
CONTRIBUTING
Repository Summary
| Description | |
| Checkout URI | https://github.com/nasa-jpl/osr-rover-code.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-10-22 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| osr_bringup | 0.0.0 |
| osr_control | 0.0.0 |
| osr_interfaces | 0.0.0 |
README
JPL Open Source Rover Code
This repository contains the code that runs on the Raspberry Pi (RPi) to control the JPL open source rover (osr).
The rover runs on ROS2 (tested on Foxy), and uses Python3.
Internals & structure
Please refer to README files associated with each folder for insight in how components work and what they do. This is also the place to look when you have modifications on your rover that require the code or parameters to be changed.
- The ROS overview gives an overview of the setup related to ROS and links to specific implementations such as how the drive and corner commands are being calculated
Simulation
A Dockerfile is provided to build and run the ROS2 stack, including the
Gazebo Classic simulation, without installing anything on your host
besides Docker.
docker build -t osr-rover-sim .
To run a node or launch file with a graphical window (e.g. Gazebo, RViz), the container needs
access to your display. The easiest way to get that without hand-rolling X11/GPU flags yourself is
rocker, which wires up the right flags for you:
pip install rocker
rocker --nvidia runtime --x11 osr-rover-sim
Only include --nvidia runtime if your machine has an NVIDIA GPU; omit it otherwise.
Inside the container:
ros2 launch osr_gazebo empty_world.launch.py
Setup
The setup directory contains tutorial files for getting everything setup and configured for running the rover code. You should proceed through them in the following order:
CONTRIBUTING
Repository Summary
| Description | |
| Checkout URI | https://github.com/nasa-jpl/osr-rover-code.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-10-22 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| osr_bringup | 0.0.0 |
| osr_control | 0.0.0 |
| osr_interfaces | 0.0.0 |
README
JPL Open Source Rover Code
This repository contains the code that runs on the Raspberry Pi (RPi) to control the JPL open source rover (osr).
The rover runs on ROS2 (tested on Foxy), and uses Python3.
Internals & structure
Please refer to README files associated with each folder for insight in how components work and what they do. This is also the place to look when you have modifications on your rover that require the code or parameters to be changed.
- The ROS overview gives an overview of the setup related to ROS and links to specific implementations such as how the drive and corner commands are being calculated
Simulation
A Dockerfile is provided to build and run the ROS2 stack, including the
Gazebo Classic simulation, without installing anything on your host
besides Docker.
docker build -t osr-rover-sim .
To run a node or launch file with a graphical window (e.g. Gazebo, RViz), the container needs
access to your display. The easiest way to get that without hand-rolling X11/GPU flags yourself is
rocker, which wires up the right flags for you:
pip install rocker
rocker --nvidia runtime --x11 osr-rover-sim
Only include --nvidia runtime if your machine has an NVIDIA GPU; omit it otherwise.
Inside the container:
ros2 launch osr_gazebo empty_world.launch.py
Setup
The setup directory contains tutorial files for getting everything setup and configured for running the rover code. You should proceed through them in the following order:
CONTRIBUTING
Repository Summary
| Description | |
| Checkout URI | https://github.com/nasa-jpl/osr-rover-code.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-10-22 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| osr_bringup | 0.0.0 |
| osr_control | 0.0.0 |
| osr_interfaces | 0.0.0 |
README
JPL Open Source Rover Code
This repository contains the code that runs on the Raspberry Pi (RPi) to control the JPL open source rover (osr).
The rover runs on ROS2 (tested on Foxy), and uses Python3.
Internals & structure
Please refer to README files associated with each folder for insight in how components work and what they do. This is also the place to look when you have modifications on your rover that require the code or parameters to be changed.
- The ROS overview gives an overview of the setup related to ROS and links to specific implementations such as how the drive and corner commands are being calculated
Simulation
A Dockerfile is provided to build and run the ROS2 stack, including the
Gazebo Classic simulation, without installing anything on your host
besides Docker.
docker build -t osr-rover-sim .
To run a node or launch file with a graphical window (e.g. Gazebo, RViz), the container needs
access to your display. The easiest way to get that without hand-rolling X11/GPU flags yourself is
rocker, which wires up the right flags for you:
pip install rocker
rocker --nvidia runtime --x11 osr-rover-sim
Only include --nvidia runtime if your machine has an NVIDIA GPU; omit it otherwise.
Inside the container:
ros2 launch osr_gazebo empty_world.launch.py
Setup
The setup directory contains tutorial files for getting everything setup and configured for running the rover code. You should proceed through them in the following order: