Skip to main content

Installation & Setup Guide

This guide details the process of setting up the onboard computer for the HausBots Robot Crawler. The setup ensures that the robot is ready to communicate with the Android control application upon boot.

Prerequisites

  • Onboard Computer: Single Board Computer (SBC) such as Raspberry Pi or similar.
  • Operating System: Ubuntu 20.04 LTS (Focal Fossa).
  • ROS Distribution: ROS Noetic Ninjemys.
  • Network Hardware: Ethernet interface (configured for static IP 10.0.0.x).

Quick Start (Automated Installation)

The project includes an install.sh script that automates the deployment of ROS, workspace dependencies, and systemd services.

1. Transfer Setup Files

Copy the misc/ros_setup directory to the robot computer.

2. Execute Installation

Run the following commands as root (sudo):

cd misc/ros_setup
sudo chmod +x install.sh
sudo ./install.sh

What the Script Does

The install.sh script performs the following critical tasks:

System Dependencies

  • Installs curl, gnupg2, lsb-release, and net-tools.
  • Adds the official ROS Noetic repository to the system sources.
  • Installs ros-noetic-ros-base and ros-noetic-rosbridge-server.

Workspace Initialization

  • Deploys the ros_ws to the user's home directory.
  • Cleans any existing build artifacts to ensure architecture compatibility.
  • Builds the Catkin workspace using catkin_make.

Helper Scripts Deployment

  • Deploys launch scripts to /opt/ros_helpers/.
  • Configures environment loaders (remote_env_loader.sh) for remote SSH execution.

Systemd Integration

The script enables and starts three primary services to ensure the robot is "always on":

  1. roscore.service: Manages the ROS Master.
  2. rosbridge.service: Launches the WebSocket server for mobile app communication.
  3. robot_launch.service: Executes the main crawler control logic (robot_launch.launch).

Network Configuration

The system is configured to operate on a local network loopback or a static Ethernet network for maximum stability.

  • Robot IP: Typically 10.0.0.23.
  • ROS Master URI: http://127.0.0.1:11311 (Onboard local)
  • Rosbridge Port: 9090 (WebSocket)

Manual Verification

After installation, verify that the services are active:

systemctl status roscore.service
systemctl status rosbridge.service
systemctl status robot_launch.service