4. Installation

Attention

If you’re migrating your robot from Let’s Robot, there are a few key things this controller does differently. You can read more about it here.

Tip

If this is your first time working with a Raspberry Pi or Linux, we recommend following our initialization tutorial to get started.

Tip

If doing things manually isn’t your style, we made an optional guided installation script that handles mostly everything for you.

The Raspbery Pi will need the following things installed so it can talk to your motors and to Remo. Make sure you don’t get any errors in the console when installing. If you have an issue, you can run the first step again, that will usually fix it!

  1. Install the required software libraries and tools. Make sure you don’t get any errors in the console. If you have an issue, you can run this line again, and that will usually fix it!

    pi@raspberry:~$ sudo apt update
    pi@raspberry:~$ sudo apt upgrade -y
    pi@raspberry:~$ sudo apt install ffmpeg python-serial python-dev libgnutls28-dev espeak python-smbus python-pip git
    
  2. Download the remotv controller scripts from GitHub.

    pi@raspberry:~$ git clone https://github.com/remotv/controller.git ~/remotv
    
  3. Install python requirements.

    pi@raspberry:~$ sudo python -m pip install -r ~/remotv/requirements.txt
    
  4. Open the new remotv directory.

    pi@raspberry:~$ cd remotv
    
  5. Copy controller.sample.conf to controller.conf.

    pi@raspberry:~/remotv$ cp controller.sample.conf controller.conf
    

4.1. Configure the Controller

You’ll need to follow the guide here to configure the controller for your robot.

4.2. Getting your robot to start the controller when it boots

  1. Copy the start_robot script to your home directory.

    pi@raspberry:~/remotv$ cp scripts/start_robot ~
    
  2. Add the startup script to crontab.

    pi@raspberry:~$ crontab -e
    

    Tip

    If you accidentally use the wrong editor, run: EDITOR=nano crontab -e

  3. Insert the following text at the bottom.

    @reboot /bin/bash /home/pi/start_robot
    

    Example:

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    # Edit this file to introduce tasks to be run by cron.
    #
    # Each task to run has to be defined through a single line
    # indicating with different fields when the task will be run
    # and what command to run for the task
    #
    # To define the time you can provide concrete values for
    # minute (m), hour (h), day of month (dom), month (mon),
    # and day of week (dow) or use '*' in these fields (for 'any').
    #
    # Notice that tasks will be started based on the cron's system
    # daemon's notion of time and timezones.
    #
    # Output of crontab jobs (including errors) is sent through
    # email to the user the crontab file belongs to (unless redirected).
    #
    # For example, you can run a backup of all your user accounts
    # at 5 a.m every week with:
    # 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
    #
    # For more information see the manual pages of crontab(5) and cron(8)
    #
    # m h dom mon dow   command
    
    @reboot /bin/bash /home/pi/start_robot
    
  4. Now just plug in your camera and speaker and reboot.

    pi@raspberry:~$ sudo reboot