---
name: robot-98e02240564f
slug: robot
version: 1.0.0
description: Build robots from hobby to industrial with hardware wiring, ROS2, motion planning, and safety constraints.
homepage: https://clawic.com/skills/robot
metadata:
  clawdbot:
    emoji: 🤖
    requires:
      bins: []
    os:
    - linux
    - darwin
    - win32
    displayName: Robot
---

## When to Use

User needs robotics help — Arduino/ESP32 wiring, ROS2 configuration, motor control, sensor integration, or industrial robot programming. Agent handles hardware selection, code generation, and debugging across hobby to professional contexts.

## Architecture

Memory lives in `~/Clawic/data/robot/` with tiered structure. See `memory-template.md` for initial setup.

```
~/Clawic/data/robot/
├── memory.md          # HOT: inventory + active project
├── inventory.md       # Hardware owned (boards, sensors, motors)
├── projects/          # Per-project configs and learnings
│   └── {name}.md      # Project-specific notes
├── corrections.md     # What failed + fixes found
└── archive/           # Completed project summaries
```

## Quick Reference

| Topic | File |
|-------|------|
| Memory setup | `memory-template.md` |
| Arduino, ESP32, RPi wiring | `hardware.md` |
| Sensors: wiring + code | `sensors.md` |
| Motors: types + drivers | `motors.md` |
| ROS1/ROS2, Gazebo, MoveIt | `ros.md` |
| Industrial arms (ABB, KUKA, UR) | `industrial.md` |
| Systematic troubleshooting | `debugging.md` |
| Common project templates | `projects.md` |

## Core Rules

### 1. Check Memory First
Before ANY recommendation:
1. Read ~/Clawic/data/robot/memory.md — what hardware does user have?
2. Check ~/Clawic/data/robot/projects/ — is there an active project?
3. Check ~/Clawic/data/robot/corrections.md — past failures to avoid?

### 2. ASK Exact Hardware
Before ANY code: exact board model, exact sensor/motor models, voltage rails.
"Arduino" is ambiguous (Uno? Nano? ESP32-based?). Add to inventory once confirmed.

### 3. Update Memory Proactively
| Event | Action |
|-------|--------|
| User mentions hardware they own | Add to inventory.md |
| User starts new project | Create projects/{name}.md |
| Something fails → fix found | Log in corrections.md |
| Project completed | Archive to archive/ |

### 4. Version Everything
Always ask and specify:
- Arduino core version, library versions
- ROS distro (Humble, Iron, Foxy, Noetic)
- Firmware versions for industrial controllers

### 5. Simulation First for Industrial
For ABB/KUKA/Fanuc/UR code:
- Always clarify: simulation or real hardware?
- Never generate motion code without safety discussion
- Include speed limits and safety checks in ALL code

## Hardware Traps

### Board Selection
- `Servo.h` crashes on ESP32 — use `ESP32Servo.h` (different API)
- `analogWrite()` missing on ESP32 — use `ledcWrite()` + channel setup
- ESP32 GPIO 6-11 are flash pins — touching them = crash
- ESP32 GPIO 34-39 are input-only — output silently fails
- Arduino pins 0,1 are Serial — using them breaks upload

### Voltage and Current
- 5V sensor → 3.3V board without divider — burns pin permanently
- GPIO sourcing >40mA (Uno) or >12mA (ESP32) — pin damage over time
- Motor on same rail as logic — brownouts cause random resets
- No common ground between boards — erratic sensor readings

### Sensors
- HC-SR04 Echo pin 5V → 3.3V board — needs divider or level shifter
- DHT22 read interval <2s — returns stale/error values
- I2C bus >30cm without pullups — intermittent failures
- MPU6050 FIFO overflow if not read fast — readings corrupt

## ROS Traps

- Mixing `rospy` (ROS1) and `rclpy` (ROS2) — import errors
- Forgot `source install/setup.bash` — "package not found"
- QoS mismatch publisher/subscriber — messages silently dropped
- `static_transform_publisher` syntax varies by ROS2 version
- Gazebo Classic plugins ≠ Ignition/Fortress plugins

## Industrial Traps

- MoveL through singularity — joint whip, dangerous
- Wrong coordinate frame (base vs world vs tool) — unexpected position
- Omitting MoveJ before MoveL — path through obstacles
- Speed too high in shared human space — safety violation
- Bypassing SafeMove/SafetyIO signals — defeats physical safeties


---
Source attribution: clawic
Original project: https://github.com/clawic/skills/blob/f825206afbf1c697202533a9187be68c7b697e0e/skills/robot/SKILL.md
License: MIT
License information: https://opensource.org/license/mit
Original upstream instructions; downloaded from Mega AI Hub.

## Upstream license notice

MIT License

Copyright (c) 2026 Ivan G. Davila

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.



# Mega AI Hub resource metadata

Creator / publisher: clawic
Original project: https://github.com/clawic/skills/blob/f825206afbf1c697202533a9187be68c7b697e0e/skills/robot/SKILL.md
Attribution basis: Source repository record

Fields of work: Development & Engineering, Product Management, Project & Program Management
Roles: Backend Developer, ML / AI Engineer, Product Manager, Project Manager, Technical Product Manager
Specialties: Backend
Tools: Arduino, Esp32, Ros2
Country applicability: Country not specified
Classification basis: Source catalog labels
Instruction SHA-256: b5c3acae9813a74f4e464ff6e448cd351ca847e5ddcb9276175c28e6447ffffc
