Robots That LearnFrom Experience
Give autonomous systems persistent memory that strengthens with use. Hebbian learning on-device. No cloud. No network latency. Single binary runs offline on any controller.
~15MB binary •<1μs graph ops •100% offline •ARM64 support coming
Why Robots Need Memory
Autonomous systems that remember outperform those that don't. Experience-based learning without cloud round-trips.
Without Memory
With Shodh Memory
Experience-Based Learning
Robots remember what worked and what failed
Hebbian learning strengthens successful action patterns
100% Offline Operation
No cloud dependency, no network latency
Single ~15MB binary runs on ARM/x86 controllers
Real-Time Performance
Sub-millisecond graph operations
<1μs entity lookup, 55ms store with embedding
Air-Gapped Deployments
Defence, industrial, and secure environments
No external connections required
Python SDK for Robotics
Native PyO3 bindings. Same API as cloud, runs on your controller.
from shodh_memory import Memory
# Initialize on robot controller (fully offline)
memory = Memory(storage_path="./robot_memory")
# Record observations and outcomes
memory.remember(
"Approach angle 45deg caused gripper slip on part X",
memory_type="Error",
tags=["gripper", "part_x", "angle"]
)
memory.remember(
"Approach angle 30deg successful for part X",
memory_type="Learning",
tags=["gripper", "part_x", "angle"]
)
# Before next action, recall relevant experience
results = memory.recall("gripper approach angle part X", limit=5)
for mem in results:
print(f"{mem['content']} (type: {mem['experience_type']})")
# Hybrid retrieval - semantic + graph associations
results = memory.recall("gripper failures", mode="hybrid", limit=10)
# ROS2 integration example
import rclpy
from rclpy.node import Node
class RobotMemoryNode(Node):
def __init__(self):
super().__init__('memory_node')
self.memory = Memory(storage_path="/opt/robot/memory")
def action_callback(self, msg):
# Record action outcomes
if msg.success:
self.memory.remember(
f"Action {msg.action} succeeded with params {msg.params}",
memory_type="Learning"
)
else:
self.memory.remember(
f"Action {msg.action} failed: {msg.error}",
memory_type="Error"
)
def plan_action(self, task):
# Recall similar past experiences before planning
experiences = self.memory.recall(task, limit=5)
return experiencesMemory Types: Error (+0.25), Learning (+0.25), Decision (+0.30), Pattern (+0.20) - importance affects recall priority
Hebbian Learning: When memories are recalled together, their connection strengthens. 5+ co-activations = permanent edge.
Built For Real Deployments
Autonomous systems that learn and adapt in the field
Industrial Robots
Assembly robots that remember successful procedures, failed attempts, and quality issues
Example: Robot recalls that torque setting X caused failures on part type Y
Warehouse AGVs
Autonomous guided vehicles that learn optimal routes and remember obstacle locations
Example: AGV remembers that aisle 3 has frequent pedestrian traffic at 2pm
Autonomous Drones
Drones that remember flight patterns, weather conditions, and landing challenges
Example: Drone recalls that GPS signal is weak near building X
Agricultural Robots
Field robots that remember soil conditions, pest locations, and harvest timing
Example: Robot recalls that section B needs different treatment than section A
Edge Performance
Benchmarked on Intel i7-1355U, release build
| Operation | Latency | Notes |
|---|---|---|
| Entity Lookup | <1μs | ARM64/x86 |
| Remember (full) | 55-60ms | With embedding |
| Recall (semantic) | 34-58ms | Vector search |
| Recall (tags) | ~1ms | Index lookup |
| 3-hop Graph Walk | 32μs | Association traversal |
| Hebbian Strengthen | 6μs | Synapse update |
Platform Support
Single binary for your target architecture
| Platform | Status | Use Case |
|---|---|---|
| Linux x86_64 | Production | Industrial PCs, servers |
| Linux ARM64 | Coming Q1 2025 | Jetson, Raspberry Pi, drones |
| Windows x86_64 | Production | Development, industrial HMIs |
| macOS ARM64 | Production | Development (Apple Silicon) |
ARM64 Support Coming Soon
We're actively working on ARM64 builds for Jetson, Raspberry Pi, and drone flight controllers. x86_64 builds work today on industrial PCs and server-class robot controllers.
Give Your Robots Memory
Experience-based learning. 100% offline. Single binary deployment.