Rapha Rover is currently in development; therefore, the specifications are subject to change.
Beta specification
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
Parameter | Value |
---|---|
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 rating | IP 54 (not in beta) |
Operating temperature | -10 °C to +40 °C |
Run time | up to 4 hours with 2 batteries |
Connection range | Up to 100 m |
* - on flat terrain
Traction parameters
Parameter | Value |
---|---|
Track Width | 385 mm |
Wheelbase length | 379 mm |
Ground clearance | 105 mm |
Climb grade (no payload) | 30° ( ~58%) |
Climb grade with 5kg payload | 20° ( ~36%) |
Climb grade with 10kg payload | 10° ( ~18%) |
Hill grade traversal | 30° ( ~58%) |
Nominal torque | 4 Nm |
Maximum torque | 8 Nm |
Rover overview
Hardware specification
Rover dimensions
Components
Name | Quantity | Description |
---|---|---|
Built-in computer | 1 | UPBoard 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. |
Router | 1 | Teltonika 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. |
Antenna | 2 | Dual-band (2.4 GHz / 5 GHz) placed on the rear of the robot. |
Stereoscopic camera | 1 | Luxonis 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. |
Lidar | 1 | RPLidar 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 motors | 6 | M0601C-111 BLDC motors from Direct Drive Tech. Connected to RaphaCore board via RS 485 bus. |
LED strip | 4 | 108 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
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
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:
Parameter | Value |
---|---|
Tire size (diameter x thickness) | ~ 170 mm x ~ 80 mm |
Tire lock type | Beadlock |
Tire insert | hard foam (non pneumatic) |
Wheel rim diameter | 120 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:
Parameter | Value |
---|---|
Voltage | 22.2 V (nominal) |
Battery type | Li-Ion |
Capacity | 4 Ah (96 Wh - flight safe) |
Battery pack type | 6S1P |
Maximum output power | ~650 W |
Safety systems | Overcurrent, 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.
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:
Parameter | Value |
---|---|
Payload capacity | ~10 kg |
Hole grid spacing | 25 mm x 25 mm |
Mounting hole dimensions | 5.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.
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:
Interface | Notes |
---|---|
USB type A | USB 3.2 Gen 2x1 (10 Gb/s), connected to UPBoard 7000 |
USB type C | USB 3.2 Gen 2x1 (10 Gb/s), connected to UPBoard 7000 |
RJ-45 | 10/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:
Voltage | Max power | Connector |
---|---|---|
5 V | 2 A (10 W) | Phoenix Contact MC 1,5/ 2-ST-3,5 example |
12 V | 2 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 |
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.
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.
Holes on additional mounting plates exactly match ones located on the main mounting plate.
Parameter | Value |
---|---|
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 spacing | 25 mm x 25 mm |
Mounting hole dimensions | 5.4 mm, compatible with: M5 screws CLS-M4-1 press-in nuts example |
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.
ROS nodes
ROS Node | Description |
---|---|
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:
|
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:
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:
|
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. |
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.
These nodes can be configured to start alongside the core ones, extending the robot with autonomous navigation capabilities.
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
LED | LED description | State description |
---|---|---|
White, flashing | Robot booting up* | |
White, breathing | Idle, rover on, motors relaxed* | |
White, constant | Rover on, motors relaxed* | |
Blue, breathing | Turning wheels not calibrated* | |
Blue, constant | Turning wheels calibration | |
Yellow, constant | Maintenance mode | |
Green, constant - side panels | Battery charge indicator | |
Green, breathing - side panels | Battery charging indicator, turns solid when fully charged* |
Fault states
LED | LED description | State description |
---|---|---|
Red, flashing | Rover error detected* | |
Red, 3 fast flashes | Multiple 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