← ClaudeAtlas

robotics-software-principleslisted

Foundational software design principles applied specifically to robotics module development. Use this skill when designing robot software modules, structuring codebases, making architecture decisions, reviewing robotics code, or building reusable robotics libraries. Trigger whenever the user mentions SOLID principles for robots, modular robotics software, clean architecture for robots, dependency injection in robotics, interface design for hardware, real-time design constraints, error handling strategies for robots, configuration management, separation of concerns in perception-planning- control, composability of robot behaviors, or any discussion of software craftsmanship in a robotics context. Also trigger for code reviews of robotics code, refactoring robot software, or designing APIs for robotics libraries.
vicky23383/robotics-agent-skills · ★ 5 · AI & Automation · score 77
Install: claude install-skill vicky23383/robotics-agent-skills
# Robotics Software Design Principles ## Why Robotics Software Is Different Robotics code operates under constraints that most software never faces: 1. **Physical consequences** — A bug doesn't just crash a process, it crashes a robot into a wall 2. **Real-time deadlines** — Missing a 1ms control loop deadline can cause oscillation or damage 3. **Sensor uncertainty** — All inputs are noisy, delayed, and occasionally wrong 4. **Hardware diversity** — Same algorithm must work on 10 different grippers from 5 vendors 5. **Sim-to-real gap** — Code must run identically in simulation and on real hardware 6. **Long-running operation** — Robots run for hours/days; memory leaks and drift matter 7. **Safety criticality** — Some failures must NEVER happen, regardless of software state These constraints demand disciplined design. Below are principles that account for them. --- ## Principle 1: Single Responsibility — One Module, One Job Every module (node, class, function) should have exactly ONE reason to change. **Why it matters in robotics**: A perception module that also does control means a camera driver update can break your arm controller. In safety-critical systems, this coupling is unacceptable. ```python # ❌ BAD: God module — perception + planning + control + logging class RobotController: def __init__(self): self.camera = RealSenseCamera() self.detector = YOLODetector() self.planner = RRTPlanner() self.arm = UR5Driver() self.l