Overview
Alius RC is not just a remote controller — it is an open robot control platform. This document is intended for system integrators and robot solution architects, introducing how to integrate Alius RC into existing robot systems, including communication architecture design, protocol adaptation solutions, and integration cases for typical application scenarios.
Communication Architecture
Overall Topology
Alius RC integration supports three basic communication topologies:
Topology A: Direct Control
Alius RC ──── OcuSync 4.0 ──── Robot (DJI platform)
The simplest solution. Alius RC connects directly to robots equipped with DJI flight controllers/platforms via OcuSync 4.0, with no additional middleware required. Suitable scenarios: field inspection, single-robot control.
Topology B: Bridged Control
Alius RC ──── WiFi 6 / 4G ──── Ground Station / Edge Gateway ──── Proprietary Protocol ──── Robot
Alius RC connects to a ground station or edge gateway via IP network, which performs protocol conversion before controlling non-DJI platform robots. Suitable scenarios: industrial AGV dispatching, unmanned vessel fleet.
Topology C: Hybrid Control
┌── OcuSync 4.0 ── Drone (DJI)
Alius RC ──────┤
└── WiFi 6 ──── Gateway ──── CAN/EtherCAT ──── Robotic Arm/AGV
A single Alius RC simultaneously controls multiple heterogeneous robots through different links. Suitable scenarios: multi-robot collaboration at complex work sites.
Communication Link Selection Guide
| Scenario | Recommended Link | Reason |
|---|---|---|
| Line-of-sight DJI robot control | OcuSync 4.0 | Lowest latency, best video quality |
| Indoor non-DJI robot control | WiFi 6 | Good indoor coverage, high bandwidth |
| Remote cross-region control | 4G | Not distance-limited |
| High-reliability scenarios | OcuSync + 4G dual-link | Auto-switching, link redundancy |
Protocol Adaptation
Connecting Non-DJI Robots to Alius RC
Alius RC SDK provides a ProtocolAdapter abstraction layer that allows mapping any robot platform’s communication protocol to Alius RC standard control commands and telemetry data structures.
public class CustomRobotAdapter extends ProtocolAdapter {
private Socket tcpSocket;
private OutputStream outputStream;
private InputStream inputStream;
@Override
public void connect(String address, int port) {
// Establish TCP connection with robot/gateway
new Thread(() -> {
try {
tcpSocket = new Socket(address, port);
outputStream = tcpSocket.getOutputStream();
inputStream = tcpSocket.getInputStream();
startReceiveLoop();
notifyConnected();
} catch (IOException e) {
notifyConnectionFailed(e.getMessage());
}
}).start();
}
@Override
public void sendMovementCommand(MovementCommand cmd) {
// Convert standard movement command to robot protocol
byte[] packet = new byte[16];
ByteBuffer buf = ByteBuffer.wrap(packet);
buf.order(ByteOrder.LITTLE_ENDIAN);
buf.put((byte) 0xAA); // Frame header
buf.put((byte) 0x01); // Command type: movement control
buf.putFloat(cmd.getThrottle());
buf.putFloat(cmd.getYaw());
buf.putFloat(cmd.getPitch());
buf.putFloat(cmd.getRoll());
buf.put((byte) calcChecksum(packet));
try {
outputStream.write(packet);
outputStream.flush();
} catch (IOException e) {
Log.e("Adapter", "Send failed", e);
}
}
private void startReceiveLoop() {
// Continuously receive status data reported by robot
byte[] buffer = new byte[256];
while (tcpSocket != null && tcpSocket.isConnected()) {
try {
int len = inputStream.read(buffer);
if (len > 0) {
RobotStatus status = parseStatusPacket(buffer, len);
// Convert robot status to standard telemetry data
notifyTelemetry(status);
}
} catch (IOException e) {
notifyDisconnected();
break;
}
}
}
}
Registering Custom Adapters
ConnectionManager connMgr = AliusRCManager.getInstance()
.getConnectionManager();
// Register adapter
CustomRobotAdapter adapter = new CustomRobotAdapter();
connMgr.registerProtocolAdapter("custom_robot_v1", adapter);
// Connect using the adapter
connMgr.connectViaAdapter("custom_robot_v1", "192.168.1.100", 8888);
Standard Control Command Structure
To facilitate protocol adaptation, Alius RC SDK defines unified standard control command structures:
public class MovementCommand {
private float throttle; // Throttle/forward-backward (-1.0 to 1.0)
private float yaw; // Yaw/turning (-1.0 to 1.0)
private float pitch; // Pitch (-1.0 to 1.0)
private float roll; // Roll/translation (-1.0 to 1.0)
private float altitude; // Altitude control (-1.0 to 1.0)
private long timestamp; // Command timestamp (ms)
private int sequenceId; // Sequence number for packet loss detection
}
public class StandardTelemetry {
private double latitude, longitude; // GPS coordinates
private double altitude; // Altitude (m)
private double speedX, speedY, speedZ; // Velocity (m/s)
private double roll, pitch, yaw; // Attitude angles (degrees)
private int batteryPercent; // Battery percentage
private double voltage; // Voltage (V)
private int gpsSatellites; // GPS satellite count
private int signalStrength; // Signal strength (0-100)
private long timestamp; // Data timestamp
}
Typical Integration Cases
Case 1: Field Power Line Inspection Drone
System Composition: Alius RC + DJI Matrice 350 RTK + Infrared Thermal Imaging Gimbal
Integration Scheme: Topology A (Direct Control)
Communication Link: OcuSync 4.0, operation radius 5-10 km
Key Integration Points:
- Route Planning: Run custom route planning application on Alius RC, issue waypoints via MSDK WaypointMission
- Gimbal Control: Dial wheel mapped to gimbal pitch, C1 button toggles visible/IR
- AI Defect Recognition: Run lightweight AI model on the controller side, analyze IR images in real time, mark suspicious hot spots
- Inspection Report: Automatically generate report with GPS coordinates, thermal screenshots, and defect classifications after flight completion
// Waypoint mission example
WaypointMission.Builder builder = new WaypointMission.Builder();
builder.addWaypoint(new Waypoint(39.9087, 116.3975, 50.0f));
builder.addWaypoint(new Waypoint(39.9090, 116.3980, 50.0f));
builder.setMaxFlightSpeed(10.0f);
builder.setFinishedAction(FinishedAction.GO_HOME);
WaypointMissionOperator operator =
SDKManager.getInstance().getWaypointMissionOperator();
operator.loadMission(builder.build());
operator.startMission(e -> {
if (e == null) {
Log.i("Mission", "Waypoint mission started");
}
});
Case 2: Industrial AGV Dispatch Terminal
System Composition: Alius RC + Edge Gateway + AGV Fleet (non-DJI platform)
Integration Scheme: Topology B (Bridged Control)
Communication Link: WiFi 6 → Edge Gateway → CAN/EtherCAT → AGV
Key Integration Points:
- Protocol Adaptation: Map AGV CAN protocol to standard control commands via ProtocolAdapter
- Multi-Vehicle Switching: Select currently controlled AGV by number on the controller UI
- Status Monitoring: Receive and display each AGV’s battery, position, and task status
- Safety Interlock: Emergency brake issued simultaneously through OcuSync and WiFi dual links to ensure safety
Case 3: Emergency Rescue Firefighting Robot
System Composition: Alius RC + Firefighting Robot + Gas Sensors + Thermal Imaging
Integration Scheme: Topology C (Hybrid Control)
Communication Link: OcuSync 4.0 (video return) + 4G (sensor data and control command backup)
Key Integration Points:
- Dual-Link Redundancy: OcuSync as primary link for video and control commands, 4G as backup
- Sensor Fusion Display: Overlay gas concentration, temperature, and other sensor data on FPV OSD layer
- Thermal Picture-in-Picture: Simultaneously display visible and thermal imaging for fire source localization
- One-Key Return/Escape: Automatically execute preset escape/return strategy upon signal loss
// Sensor data OSD overlay example
OSDOverlayManager osm = fpvView.getOSDOverlayManager();
osm.addOverlayItem(new OSDTextItem.Builder()
.setText("CO: 12ppm")
.setPosition(OSDPosition.TOP_LEFT)
.setColor(Color.YELLOW)
.build());
osm.addOverlayItem(new OSDTextItem.Builder()
.setText("TEMP: 156°C")
.setPosition(OSDPosition.TOP_LEFT, 0, 30)
.setColor(Color.RED)
.build());
osm.addOverlayItem(new OSDGaugeItem.Builder()
.setLabel("Signal")
.setValue(signalStrength)
.setPosition(OSDPosition.TOP_RIGHT)
.build());
Security Mechanisms
Communication Security
| Layer | Measure |
|---|---|
| OcuSync | AES-256 encryption, frequency hopping spread spectrum |
| WiFi | WPA3-Enterprise, certificate authentication |
| 4G | IPSec VPN tunnel, end-to-end encryption |
| Application | Command signature verification, anti-replay protection |
Safety Interlocks
Alius RC SDK includes multiple built-in safety interlock mechanisms:
- Heartbeat Detection: 10 Hz heartbeat between controller and application, triggers auto-hover if no heartbeat received for over 500 ms
- Joystick Loss Protection: If joystick signal is interrupted for > 200 ms, all control channels automatically zero out
- Geofencing: Configurable flight/driving area boundaries, auto-execution of preset actions when boundaries are exceeded
- Command Limiting: Single command magnitude changes limited to preset safety ranges to prevent loss of control
// Safety configuration example
SafetyConfig config = new SafetyConfig.Builder()
.setHeartbeatTimeout(500) // ms
.setStickLostAction(SafetyAction.HOVER)
.setGeofenceEnabled(true)
.setMaxCommandDelta(0.3f) // Max per-frame change
.setFailsafeAction(SafetyAction.RETURN_HOME)
.build();
AliusRCManager.getInstance().setSafetyConfig(config);
Ground Station Multi-Screen Solution
When projecting the controller screen to a large display or head-mounted display:
Alius RC (Touch Control)
│
├── HDMI 2.0 ──── External display (FPV + Dashboard)
│
└── OcuSync 4.0 ──── Robot
HDMI output supports independent display modes, configurable in Alius RC Manager:
- Mirror Mode: External display shows the same content as the controller screen
- Extended Mode: Controller screen shows control UI, external display shows full-screen FPV
- Dashboard Mode: External display shows dashboard (map + status panel), controller shows FPV and controls
Integration Checklist
After completing system integration, verify the following items:
- Communication link established normally with latency and bandwidth meeting expectations
- Control commands respond correctly without abnormal delays or jitter
- Telemetry data is accurate with update frequency meeting specifications
- Safety interlock mechanisms function correctly (heartbeat, loss protection, geofencing)
- Emergency brake can be triggered under all operating conditions
- Multiple communication link switching occurs without interruption
- HDMI external display functions normally
- Long-term operation shows no memory leaks or performance degradation
- Normal operation in extreme environments (high/low temperature, vibration)
Next Steps
- MSDK Development Guide — Return to MSDK API and control development
- Specifications — View detailed hardware parameters
- Alius Technical Support — For integration issues, contact support@alius.tech