A comprehensive robotics platform for rover control, telemetry, and mission analytics.
Hana Propulsion Laboratory (HPL) is an integrated robotics ecosystem that combines hardware control, vehicle implementation, ground station interfaces, and mission analytics. The platform enables the operation of remotely controlled rovers with real-time telemetry, data collection, and comprehensive mission analysis.
The core of the rover's functionality is implemented through a collection of Arduino libraries:
-
Core Systems
HPLRover_Common- Common utilities and shared functionalityHPLRover_Command- Command processing and interpretationHPLRover_Power- Power management and monitoringHPLRover_Notify- System notifications and status reporting
-
Sensors & Navigation
HPLRover_GPS- GPS positioning and navigationHPLRover_Compass- Directional orientationHPLRover_InertialSensor- Motion and acceleration sensingHPLRover_SharpSensor- Proximity detection
-
Control & Interaction
HPLRover_Motors- Motor control and movementHPLRover_Camera- Camera control and video streamingHPLRover_Lights- Lighting controlHPLRover_Radio- Communication with ground stationHPLRover_Weapons- Weapon systems control
The Fleet component manages the rover vehicles and ground station:
-
Vehicle
HPLRover.ino- Main Arduino sketch for rover operation- Implements scheduling, sensor reading, and command execution
-
Ground Station
roverlink.js- Node.js server for communication with the roverradiocamstream.html- Web interface for camera streaming- Web-based cockpit for rover control
Built on SAP HANA, the mission control system provides comprehensive analytics:
-
Data Models
- Mission tracking and telemetry storage
- Performance analytics (speed, altitude, distance)
- Achievement and goal tracking
-
Analytics Views
- Distance traveled
- Average/max/min speed and altitude
- Mission achievements
- Pilot performance metrics
- Arduino IDE
- Node.js and npm
- SAP HANA environment (for mission control)
- Required hardware components:
- Arduino Mega (or compatible)
- GPS module
- Compass module
- MPU6000 inertial sensor
- Sharp proximity sensors
- Servo motors
- Camera module
- Radio communication module
- Assemble the rover hardware according to your specific design
- Connect the components to the Arduino following standard pinout configurations
- Upload the
HPLRover.inosketch to the Arduino
- Install Node.js dependencies:
cd Fleet/rover/groundstation npm install socket.io serialport bufferstream socket.io-wildcard - Configure the serial port in
roverlink.js(default:/dev/ttyUSB0) - Start the ground station server:
node roverlink.js - Open the cockpit interface in a web browser
- Deploy the HANA XS application to your SAP HANA environment
- Configure database connections and user roles
- Access the mission control dashboard through the HANA XS application URL
- Power on the rover
- Start the ground station server
- Connect to the rover through the ground station interface
- Use the cockpit controls to navigate and operate the rover
- Monitor telemetry and sensor data in real-time
- Access the mission control dashboard
- Select missions to analyze
- View performance metrics, achievements, and telemetry data
- Generate reports on rover and pilot performance
The system follows a three-tier architecture:
-
Hardware Layer (Arduino)
- Sensor integration and hardware control
- Real-time processing and command execution
- Telemetry collection and transmission
-
Communication Layer (Node.js)
- Bidirectional communication between rover and ground station
- Command transmission and telemetry reception
- Video streaming and real-time feedback
-
Analytics Layer (SAP HANA)
- Data storage and processing
- Performance analytics and reporting
- Mission tracking and achievement monitoring
See the LICENSE file for details.