Skip to content

Legacy ROS Workspace Install

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.

  • 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).
  • ROS Master URI: http://127.0.0.1:11311 (onboard local).

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

Copy the setup/ros_setup directory to the robot computer.

Run the following commands as root (sudo):

Terminal window
cd setup/ros_setup
sudo chmod +x install.sh
sudo ./install.sh

The install.sh script performs the following critical tasks:

  • 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.
  • 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.
  • Deploys launch scripts to /opt/ros_helpers/.

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

graph TD
    roscore[roscore.service] --> rosbridge[rosbridge.service]
    rosbridge --> robot_launch[robot_launch.service]

    subgraph "Onboard SBC Services"
        roscore
        rosbridge
        robot_launch
    end
  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).

For the network plan, the robot-agent install, and the camera and health services, see Robot Setup Overview. This page keeps only the workspace-level install that development robots run.

After installation, verify that the services are active:

Terminal window
systemctl status roscore.service
systemctl status rosbridge.service
systemctl status robot_launch.service