This project aims to build a self driving rc car equipped with a Raspberry Pi 3 B+ running ROS and an Arduino MKR1000 to control the motor and the servo for steering. To find its way around it uses a camera. The project is split into four parts, to adress the following main components of the robot.

Arduino MKR1000 responsible for the low level control. Raspbery Pi 3 B+ running ROS to perceive the environment and act accordingly. The rc vehicle and its parts System integration: combining the components.

In this part I will explore the MKR1000 and its capabilities using the Serial connection with a library called rosserial. This library provides a client library called rosserial_arduino. It allows us to get ros nodes up and running easily.


Ubuntu 16.04 including Arduino IDE and ROS Kinetic.

For a How-To on installing the Arduino IDE, connecting the Arduino MKR1000 to your computer and uploading the rosserial hello world sketch, checkout this blog post.


I am going to work with two servos:

Servo Example

To our convenience there is already a servo example available from the arduino rosserial library. To start the upload, go to the following menu.

Servo - Arduino rosserial