Skip to main content
warning

Rapha Rover is currently in development; therefore, the specifications are subject to change.

Rapha Rover logo
Rapha Rover logo

Beta specification

Render of beta version of Rapha Rover

Rapha Rover is a research-ready platform designed to streamline development of various robotic projects, including inspection, agriculture, construction, and more. It is built to seamlessly integrate with custom payloads and operate in diverse environments, catering to both indoor and outdoor applications (please note that the beta version is currently limited to indoor use only).


Rapha Rover introduction

What's included

  • 1 x Beta version of Rapha Rover
  • 1 x Battery charger
  • 2 x 24V battery pack
  • 1 x Additional mounting plate
  • 1 x Extended additional mounting plate

Main parameters

ParameterValue
Dimensions (LxWxH)556 mm x 472 mm x 282 mm
Weight~15 kg
Maximum payload~10 kg*
Maximum linear speed~1.8 m/s
Maximum angular speed~4.7 Rad/s
Estimated max. obstacle size~100 m
IP protection ratingIP 54 (not in beta)
Operating temperature-10 °C to +40 °C
Run timeup to 4 hours with 2 batteries
Connection rangeUp to 100 m

* - on flat terrain

Traction parameters

ParameterValue
Track Width385 mm
Wheelbase length379 mm
Ground clearance105 mm
Climb grade (no payload)30° ( ~58%)
Climb grade with 5kg payload20° ( ~36%)
Climb grade with 10kg payload10° ( ~18%)
Hill grade traversal30° ( ~58%)
Nominal torque4 Nm
Maximum torque8 Nm

Rover overview

Overview of main features of Rapha Rover
Rapha Rover overview
Overview of main features of Rapha Rover
Rapha Rover overview

Hardware specification

Rover dimensions

Main dimensions of Rapha Rover
Rapha Rover dimensions
Main dimensions of Rapha Rover
Rapha Rover dimensions

Components

NameQuantityDescription
Built-in computer1UPBoard 7000 - third-generation credit card-sized developer board in the UP Board series.- Processor: Intel® N100 quad-core processor.

Key features:
- Processor: Intel® N100 quad-core processor.
- Memory: 8GB LPDDR5 system memory.
- Storage: 64GB eMMC storage.
- Connectivity: 1 Gigabit LAN, HDMI 1.4b, 3 USB 3.2 Gen 2, 2 USB 2.0/UART, 40-pin GPIO header.
Router1Teltonika RUTX10 (With RUTX11 as option after beta). Router that combines the best of wired and wireless routing functionalities with Gigabit Ethernet, Bluetooth LE, and AC Wi-Fi.
Antenna2Dual-band (2.4 GHz / 5 GHz) placed on the rear of the robot.
Stereoscopic camera1Luxonis OAK-D Pro W is a wide-angle camera with active stereo depth and high-resolution color capabilities. It includes on-device neural network inference, computer vision features, and night vision for low-light environments.
Lidar1RPLidar S3 - 360-degree waterproof 2D Lidar scanner with a 40-meter range. It ensures stable performance in diverse conditions, making it suitable for both indoor and outdoor use. Operating at 10Hz, it guarantees a sample rate of 32KHz.
BLDC motors6M0601C-111 BLDC motors from Direct Drive Tech. Connected to RaphaCore board via RS 485 bus.
LED strip4108 RGBW Individually addressable LEDs.
3535 form factor; 144/m, 23W/m.
They serve as the rovers status indicator, but can be programmed for any custom behavior e.g. to work as a flashlight.

Block diagram

Hardware diagram of Rapha Rover
Block diagram of Rapha Rovers hardware
Hardware diagram of Rapha Rover
Block diagram of Rapha Rovers hardware

RaphaCore controller

RaphaCore serves as the primary control board for Rapha Rover, featuring a robust STM32H5 series microcontroller. The board leverages FreeRTOS to efficiently handle various low-level tasks integral to the functioning of Rapha Rover. These tasks include:

  • Drivetrain control
  • Power system management
  • LED control
  • IMU operation
  • Odometry tracking
External connections of RaphaCore
RaphaCore PCB connectors
External connections of RaphaCore
RaphaCore PCB connectors

Drivetrain

The standard configuration of the Rapha Rover features a drivetrain comprising two fixed wheels at the front and two rotary wheels at the rear. This design enhances the mobility of the Rover, enabling it to execute precise maneuvers such as:

  • turning in place ( around middle point between frontal wheels)
  • turning around specific frontal wheel
  • turning around a curve

This versatile drivetrain configuration optimizes the Rover's navigational capabilities, ensuring adaptability in various operational scenarios.

Motors

The Rapha Rover is equipped with 6 DirectDriveTech M0601C-111 direct-drive BLDC motors, serving both the drive and turn functions. These motors enable the rover to attain a speed of approximately 1.8 m/s when equipped with standard diameter tires. Each motor is outfitted with an integrated incremental encoder with a resolution of 12 bits.

To mitigate potential operational challenges, a mechanical bumper restricts the turn angle of each steering wheel to 180°. This bumper not only acts as a limit for wheel rotation but also serves to establish the wheel's position when the rover is restarted, ensuring consistent and reliable performance.

Wheels

As standard, Rapha Rover comes with rubber tires with a diameter of about 170 mm. Whole drive assembly has following characteristics:

ParameterValue
Tire size (diameter x thickness)~ 170 mm x ~ 80 mm
Tire lock typeBeadlock
Tire inserthard foam (non pneumatic)
Wheel rim diameter120 mm

Battery & charging

Rapha Rover boasts an advanced battery management system, a feature enabling the simultaneous utilization of two battery packs. This innovative system empowers the rover to seamlessly operate for approximately four continuous hours under decent conditions (e.g. relatively flat terrain). The dual-battery configuration enhances the overall endurance and sustained performance of the rover.

A notable feature of the design is the ability to detach the battery packs without requiring a power-off cycle. By connecting the charger to the rear slot of the Rover, users can safely remove both batteries. This functionality streamlines the process of swift and efficient battery replacements, resulting in minimal downtime during operations. The seamless swapping of battery packs not only extends the operational range of the rover but also mitigates the necessity for frequent service stops, thereby elevating the overall efficiency and productivity of the robotic platform.

Each battery pack has following characteristics:

ParameterValue
Voltage22.2 V (nominal)
Battery typeLi-Ion
Capacity4 Ah (96 Wh - flight safe)
Battery pack type6S1P
Maximum output power~650 W
Safety systemsOvercurrent, Reverse polarity protection

Battery charging

By default Rapha Rover comes with 2A 25,2V Li-Ion charger. It can charge 1 battery pack in about 2,5 hours.

Rapha Rover has 2 options for charging batteries:

  • Outside the Rover, by plugging battery into charger
  • Inside the Rover, by plugging charger directly into rear charging slot of the Rover

The charger is outfitted with an LED status indicator designed to provide information about the charging status of the battery. A green LED signifies that the battery has reached full charge, while a red LED indicates that the battery is currently in the charging process.

note

When charging the batteries with the Rover powered on, the LED indicator will not transition to green during the charging cycle. This is due to the fact that the charger will be used to sustain the operational state of the rover after the charging process.

Payload specification

Rapha Rover is designed to be used with custom payloads. Main mounting plate is located at the top of the rover and has following characteristics:

ParameterValue
Payload capacity~10 kg
Hole grid spacing25 mm x 25 mm
Mounting hole dimensions5.4 mm, compatible with:
M5 screws
CLS-M4-1 press-in nuts example
Main mounting plate dimensions (L x W x D)330 mm x 198 mm x 2 mm*

* - actual maximum payload length is lower due to Lidar mounted at the front of the plate and buttons at the rear.

Rapha Rover's mounting plate dimensions
Main mounting plate dimensions
Rapha Rover's mounting plate dimensions
Main mounting plate dimensions

Apart from the mounting plate, it is possible to mount payloads directly to v-slot extrusions of the Rapha Rover.

Rover's external ports

Rapha Rover has a special rear compartment provided as easy access to connect many payloads. As default provided are following interfaces:

InterfaceNotes
USB type AUSB 3.2 Gen 2x1 (10 Gb/s), connected to UPBoard 7000
USB type CUSB 3.2 Gen 2x1 (10 Gb/s), connected to UPBoard 7000
RJ-4510/100/1000 Mbps, connected to Teltonika RUTX10

In addition, the rear compartment also includes a power panel with 3 sections, each with different voltage levels. Each section can be individually controlled by RaphaCore. Voltages available on power panel are:

VoltageMax powerConnector
5 V2 A (10 W)Phoenix Contact MC 1,5/ 2-ST-3,5
example
12 V2 A (24 W)Phoenix Contact MC 1,5/ 2-ST-3,81
example
BAT (20-25 V)5 A (120 W)Phoenix Contact MSTB 2,5/ 2-ST-5,08
example
Rapha Rover's rear compartment overview
Rear compartment overview
Rapha Rover's rear compartment overview
Rear compartment overview

To ensure weather-tightness while accommodating additional payloads, the Rapha Rover is equipped with specialized cable seals. To insert additional cables, it is necessary to dismantle the entire panel by loosening two thumb screws. Once the panel is disassembled, individual seals can be removed from the frame, allowing for the insertion of new cables.

Rapha Rover comes with different seals, labeled as QT [Z]/[X] or QT [X], where Z indicates the number of holes in the seal and X indicates the diameter of the cable in millimeters.

Rapha Rover's payload cable seals
Payload cable seal
Rapha Rover's payload cable seals
Payload cable seal

Additional mounting plates

Beyond the primary mounting plate, the Rapha Rover offers the capability for integration with supplementary mounting plates as needed. These additional plates are colloquially known as "sandwich plates" due to their placement above the main mounting plate. This design ensures that a payload affixed to the Rover does not impede the Lidar's line of sight.

To install these additional mounting plates, begin by removing the bolts securing the main mounting plate. Subsequently, affix the M5 x 25 standoffs (provided with the Rover), in place of the removed bolts. Following this step, place the mounting plate onto the standoffs and secure it in position by fastening it with the screws that were initially holding the main mounting plate in place.

tip

Holes on additional mounting plates exactly match ones located on the main mounting plate.

ParameterValue
Additional mounting plate dimensions (L x W x D)300.8 mm x 230 mm x 2 mm
Additional extended mounting plate dimensions (L x W x D)350.8 mm x 380 mm x 2 mm
Hole grid spacing25 mm x 25 mm
Mounting hole dimensions5.4 mm, compatible with:
M5 screws
CLS-M4-1 press-in nuts example
Rapha Rover's additional mounting plates dimensions
Additional mounting plates dimensions
Rapha Rover's additional mounting plates dimensions
Additional mounting plates dimensions

Software specification

Overview

Rapha Rover's software heavily relies on The Robot Operating System (ROS) which offers the robot the following functionalities:

  • Abstraction layer facilitating communication between software components.
  • Open-source software components, maintained by the community.
  • A collection of standard message interfaces.
  • Tools for introspection.

The primary segment of the software stack is partitioned into several ROS Nodes, treated as computational units, each doing one logical thing. The nodes interact via:

  • Topics - Named buses enabling message exchange between nodes. They are strongly typed and employ anonymous publish/subscribe semantics.
  • Services - A client/server mechanism for remote procedure calls between nodes. The service server accepts remote procedure requests identified by name and type, which must be known to the service client beforehand.
  • Parameters - Sets of key/value pairs maintained separately by each node, utilized for node configuration during startup and runtime without necessitating code modifications.
  • TF transforms - A single transform describes the relationship between 2 coordinate frames at a specific point in time. TF transforms are distributed between nodes using topics, but, for the sake of clarity, we will refer to them as separate entities.

There are two important software components which don't run as native ROS nodes:

  • Controller firmware - The firmware itself acts as a ROS node but uses eProsima's Micro XRCE-DDS as its middleware. Thus, it requires the presence of the Micro-ROS Agent on the built-in computer to communicate with other ROS nodes.
  • Web User Interface - The WebUI establishes a connection with the Rosbridge Server via WebSocket transport layer and employs the rosbridge protocol for communication with the ROS nodes.
Overview of Rapha Rover's software components
Overview of the software components
Overview of Rapha Rover's software components
Overview of the software components

ROS nodes

ROS NodeDescription
Controller Node

The node spawned by the Controller firmware. Provides access to functionalities via topics and services for the management of the drivetrain, LED panels, Power System and many more. Additionally, it publishes relevant information, including:

  • State of the dynamic joints controlled by RaphaCore.
  • Data retrieved from the onboard IMU sensor.
  • Power system status, comprising:
    • Battery voltages.
    • Connection status of batteries or the charger to the robot.
    • Current output power.
  • Computed odometry.
  • Diagnostic information for various system components.
Robot State Publisher

Parses the kinematic tree model of the robot in URDF format and broadcasts the robot state using TF transforms. Here's how it operates:

  • Fixed joints, like sensor positions, are published as static transforms.
  • Movable joints, such as wheel states, are published as dynamic transforms, based on the current joint states published by the Controller Node.

It also publishes the robot URDF description on a designated topic, making it easily accessible to other nodes.

Camera Driver

Publishes the data provided by the stereoscopic camera. In the default configuration used in Rapha Rover, it includes:

  • Images captured by the left, right and RGB (center) camera image sensors.
  • Calibration parameters for each image sensor.
  • Data from the camera's IMU sensor.
  • Depth images computed from the left and right sensors.
Depth Processing Node

Publishes point cloud data computed from depth images and camera calibration parameters.

Employs “lazy subscription”, meaning it refrains from processing any depth images until at least one node subscribes to the Point Cloud topic.

LIDAR Driver

Publishes data from the LIDAR sensor.

Additionally, it provides services for starting and stopping the sensor's motor.

Simplified graph of core ROS nodes running on Rapha Rover
Simplified graph of core ROS nodes running on Rapha Rover
Simplified graph of core ROS nodes running on Rapha Rover
Simplified graph of core ROS nodes running on Rapha Rover

Different robot applications will require running different sets of additional nodes on top of the core ones. For example, consider a situation where we want to autonomously drive to predefined coordinates in an unknown terrain. Typical solution can be simplified to 2 nodes:

  • SLAM (Simultaneous localization and mapping) node - generates a 2D terrain map and localizes the robot within it.
  • Autonomous Navigation node - Retrieves navigation goals and outputs drive commands for the controller. Uses 2D terrain map to plan an optimized path and data from LiDAR and stereo camera to detect dynamic obstacles.
ROS computation graph of an example autonomous navigation software
ROS computation graph of an example autonomous navigation software
ROS computation graph of an example autonomous navigation software
ROS computation graph of an example autonomous navigation software

These nodes can be configured to start alongside the core ones, extending the robot with autonomous navigation capabilities.

ROS API

The ROS API in the beta version is subject to changes.

Work in progress

LED strip

Messages can be divided into 3 types:

  • general,
  • full LED strip control,
  • single LED panel control.
general
LedColor.msg - represents the color of an LED.
# The intensity of each color (255 = 100%)
uint8 red
uint8 green
uint8 blue
uint8 white
LedState.msg - represents the state of a single LED.
# The duration (in ms) the state should be active
uint16 duration

# The priority of the state. The state with the highest priority is displayed
# The value of -1 resets the user state of the LED
int8 priority

# The color of the LED
rapha_interfaces/LedColor color
Full LED strip control
LesStripState.msg - represents the state of the whole led strip.
uint8 LED_STRIP_SIZE=129
rapha_interfaces/LedState[129] state
Single LED panel control
LedPanel.msg - enumeration of robot's LEDs panels.
uint8 FRONT=0
uint8 BACK=1
uint8 LEFT=2
uint8 RIGHT=3

uint8 data
LedPanelState.msg - represents the state of the whole LED panel.
rapha_interfaces/LedPanel panel
rapha_interfaces/LedState[36] state

Firmware

Work in progress

LED controller

The built-in LED controller manages the LED states of the robot by processing user-defined states and animations, integrating them with ongoing animations, and updating the LEDs accordingly.

Users can control the LED strip by specifying colors, duration, and priority of specific LEDs. This allows for in-depth control, enabling users to determine which LED states are the most important. Critical states, such as errors, are displayed over less important uses, like illuminating the surroundings.

The robot features four LED panels that combine to form one long LED strip. LEDs can be controlled either as a full strip or as specific panels, providing flexibility for different use cases:

  • Full Strip Control: Ideal for animations that span the entire perimeter of the robot, such as police lights.
  • Panel-Specific Control: Useful for targeted functions, such as using all front LEDs as a flashlight or using side LEDs to indicate battery levels.

Robot status Indicators descriptions

Normal states
LEDLED descriptionState description
White, flashingRobot booting up*
White, breathingIdle, rover on, motors relaxed*
White, constantRover on, motors relaxed*
Blue, breathingTurning wheels not calibrated*
Blue, constantTurning wheels calibration
Yellow, constantMaintenance mode
Green, constant - side panelsBattery charge indicator
Green, breathing - side panelsBattery charging indicator, turns solid when fully charged*
Fault states
LEDLED descriptionState description
Red, flashingRover error detected*
Red, 3 fast flashesMultiple errors detected*

* - not implemented currently

Web User Interface

The beta version of the Rapha rover does not feature a User Interface (UI). The software is fully operational in terms of functionality; however, the absence of a UI necessitates interaction through Command Line Interface (CLI) or other programming methods.

Network

Work in progress