Software Setup

This section explains how to install Dingo’s operating system and ROS packages. You will need a USB stick of at least 2GB to create the installation media, a wired internet connection, a monitor, and a keyboard.

Creating OS installation media

Note

For installing the OS on an Nvidia Jetson device, see Jetson Xavier AGX or Jetson Nano.

For Intel-family computers (amd64 architecture), you can download Clearpath’s official OS installation images from here. For Dingo, use the bionic-melodic image.

Use unetbootin, or a similar tool, to write the ISO image to a USB memory stick.

_images/unetbootin.png

Warning

The ISOs currently available from Clearpath are intended to boot into Legacy mode and do not support UEFI. You may need to configure your computer’s BIOS to use legacy boot.

Install the OS

Connect Dingo’s PC to the internet using an ethernet cable and connect a monitor and keyboard. Insert the USB stick you configured in the previous step and power on the PC.

Note

You may need to configure your PC’s BIOS to prioritize booting from the USB device. On most common motherboards, pressing delete during the initial startup will open the BIOS for configuration.

Installing the OS should require minimal user interaction. The computer will automatically power off when the installation has completed. Once done you can remove the USB stick from the computer.

On first boot after installing the OS you may be prompted to enter a new hostname for the robot. You may assign any name you like, though it should be unique for every robot you have.

Configure the OS

Note

If you installed the OS using the official Clearpath ISO you may skip this section. If you are using an Nvidia Jetson, Raspberry Pi, or installed Ubuntu 18.04 using a normal Desktop or Server installation image from Canonical you will need to do some additional configuration, described below:

First, configure apt to include the ROS and Clearpath package servers by running the following commands:

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
wget https://packages.clearpathrobotics.com/public.key -O - | sudo apt-key add -
sudo sh -c 'echo "deb https://packages.clearpathrobotics.com/stable/ubuntu $(lsb_release -cs) main" > /etc/apt/sources.list.d/clearpath-latest.list'
sudo apt-get update
sudo apt-get install python-rosdep ros-melodic-catkin
sudo rosdep init
sudo wget https://raw.githubusercontent.com/clearpathrobotics/public-rosdistro/master/rosdep/50-clearpath.list -O /etc/ros/rosdep/sources.list.d/50-clearpath.list
rosdep update
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc

Dingo is configured to use the 192.168.131.* network to address the MCU and any sensors you connect via ethernet. To accomplish this, you must run the following commands:

sudo apt-get install bridge-utils ifupdown bluez-tools
sudo nano /etc/network/interfaces

Copy and paste the following into /etc/network/interfaces and save the file:

auto lo br0 br0:0
iface lo inet loopback

# Bridge together physical ports on machine, assign standard Clearpath Robot IP.
iface br0 inet static
  bridge_ports regex (eth.*)|(en.*)
  address 192.168.131.1
  netmask 255.255.255.0
  bridge_maxwait 0

# Also seek out DHCP IP on those ports, for the sake of easily getting online,
# maintenance, ethernet radio support, etc.
iface br0:0 inet dhcp

For managing the robot’s wireless network, we recommend installing wicd-curses:

sudo apt-get install wicd-curses

Run wicd-curses and press shift + p to open the preferences. Remove the wired interface; the wired interface is already configured using /etc/network/interfaces and allowing wicd to control it may cause problems with the network bridge.

Install the Dingo packages:

sudo apt-get install ros-melodic-dingo-robot

You may optionally install the Dingo desktop and simulation packages as well, though these are generally not needed on the robot:

sudo apt-get install ros-melodic-dingo-desktop ros-melodic-dingo-simulator

Install Dingo Software

Once the packages have been installed, the Dingo bringup service must be configured. Run

rosrun dingo_bringup install
sudo systemctl daemon-reload

Before launching the ros service, make sure to configure /etc/ros/setup.bash correctly. Most importantly, you should add the following if you have a Dingo-O:

export DINGO_OMNI=1

If you have a Dingo-D, instead you may add:

export DINGO_OMNI=0

Save /etc/ros/setup.bash and run

sudo systemctl start ros

If you need to restart ROS, you can run

sudo systemctl restart ros

at any time.