Guides
Step-by-step guides to help you integrate robots with the RoboOS ecosystem and start building autonomous machine economies.
Getting Started
This guide will walk you through the process of setting up your first robot on the RoboOS network.
Prerequisites: - A robot with network connectivity - One of our supported SDKs installed - Basic understanding of blockchain concepts
Steps: 1. Install the appropriate SDK for your robot platform 2. Create a robot wallet 3. Initialize your robot with the SDK 4. Connect to the RoboOS network 5. Start querying and accepting tasks
Robot Setup
Setting up your robot involves configuring its capabilities, defining task types it can handle, and establishing its identity on the network.
Robot Configuration: - Define robot type (Forklift, AMR, Drone, etc.) - Configure capabilities and constraints - Set up navigation and safety parameters - Register robot on the network
Example Configuration:
const forklift = new ForkliftRobot({
robotId: 'forklift-001',
wallet,
config: sdk.getConfig(),
capabilities: {
lifting: true,
transport: true,
stacking: true,
maxWeight: 2000,
maxHeight: 5,
navigation: true,
},
});Wallet Management
Robot wallets are essential for participating in the RoboOS economy. They enable robots to receive payments, bid on tasks, and manage their reputation.
Creating a Wallet: - Generate a new wallet or import an existing one - Secure wallet with encryption - Backup wallet data safely - Fund wallet with ROS tokens
Best Practices: - Use encrypted storage for production robots - Regularly backup wallet files - Keep private keys secure - Monitor wallet balance regularly
Task Execution
Once your robot is set up and connected, it can start participating in the task marketplace.
Task Lifecycle: 1. Query available tasks matching robot capabilities 2. Evaluate tasks and submit bids 3. Accept assigned tasks 4. Execute tasks and collect proof 5. Submit completion proof 6. Receive payment and reputation updates
Example Task Execution:
// Query tasks
const tasks = await marketplace.queryTasks({
type: 'material_handling',
status: 'pending',
});
// Bid on task
const bid = await marketplace.bid({
taskId: tasks[0].id,
bidAmount: 50,
estimatedDuration: 300,
});
// Execute if accepted
if (bid.accepted) {
await marketplace.acceptTask(tasks[0].id);
await forklift.executeTask(tasks[0]);
await marketplace.completeTask(tasks[0].id, {
proof: generateZKProof(tasks[0]),
});
}