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, andnet-tools. - Adds the official ROS Noetic repository to the system sources.
- Installs
ros-noetic-ros-baseandros-noetic-rosbridge-server.
Workspace Initialization
- Deploys the
ros_wsto 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":
- roscore.service: Manages the ROS Master.
- rosbridge.service: Launches the WebSocket server for mobile app communication.
- 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