Skip to content

Latest commit

 

History

History
88 lines (53 loc) · 3.8 KB

README.md

File metadata and controls

88 lines (53 loc) · 3.8 KB

Xplore - ROS Humble Assignment

Welcome to the Xplore ROS Humble Stack assignment! This assignment is designed to help you get acquainted with ROS (Robot Operating System) using Docker, while building foundational skills that are crucial for developing a rover. This assignment is divided into three levels, each with specific objectives and tasks.

We are looking for motivated people, we will not judge you on the quality of the work. We only want to see your motivation and autonomy. There is no mandatory level required, go as far as you can!

Table of Contents

Introduction

In this assignment, you will:

  1. Set up your environment with Docker and ROS Humble (and understand what the hell they are?!).
  2. Create ROS packages and understand the basics of publisher-subscriber communication.
  3. Develop a custom ROS service and integrate it with a subscriber.

These tasks are designed to simulate real-world challenges you might face while working on the Xplore rover project. By the end of this assignment, you should have a solid understanding of ROS basics and be well-prepared to contribute to our team.

Note

Though you might not directly work on ROS (for example if you do Machine Learning), these knowledge will be extremely useful to integrate your code in the pipeline.

Assignment Levels

Level 1: Introduction and Setup

Objectives:

  • Install Docker.
  • Install ROS Humble using Docker.
  • Test a built-in ROS command.
  • Understand the concept of ROS and its advantages.

Detailed instructions for Level 1 can be found in the Level 1 file.

Level 2: Package Creation and Communication

Objectives:

  • Create a ROS package inside the Docker image.
  • Implement a simple publisher and subscriber.

Detailed instructions for Level 2 can be found in the Level 2 file.

Level 3: Custom Services and Integration

Objectives:

  • Create a custom ROS service that triggers a console print and returns a result.
  • Integrate the service with a subscriber.

Detailed instructions for Level 3 can be found in the Level 3 file.

Installation

You will need to fork the repository, and install Docker. Follow the procedure for your system:

Windows | Mac M1 | Ubuntu

Troubleshooting

If you have any trouble or problem with the assignement, do not hesitate to ask questions. Post a new question on the Issue tab of the GitHub repository.

+ Create Issue

Useful Resources

Here are some resources to help you throughout the assignment:

Useful Commands

We have compiled a list of useful Linux, Docker, and ROS commands to assist you with the assignment. These can be found in the UsefulCommands.md. file.

Good luck, and we look forward to meeting you and seeing your progress during the interview!

Gif