Capabilities
Capabilities: Robot Hardware Abilities
Capabilities are the hardware abilities of a robot - what it can sense and what it can do physically. Capabilities define the "tech tree" for robotics: add a new capability to your robot, and you unlock new Activities.
For an introduction to how Capabilities fit into the BRS knowledge structure, see Robotics Ontology.
What Makes a Capability?
A Capability is:
- Hardware-based: It requires physical sensors or actuators
- Measurable: It provides specific data or performs specific actions
- Reusable: The same capability enables multiple activities
- Robot-agnostic: Different robots can have the same capability using different hardware
Capabilities fall into two categories:
- Sensing Capabilities - Detect the environment (sensors)
- Actuation Capabilities - Move or manipulate the world (motors, servos, grippers)
Current Capabilities
These capabilities are fully documented and implemented on SimpleBot:
Sensing Capabilities
| Capability | What It Measures | Hardware | Used In | Status |
|---|---|---|---|---|
| Capability:Line Sensing | Light vs dark surfaces | IR reflectance modules | SimpleBot | Fully Documented |
| Capability:Optical Odometry | Wheel rotation distance | Slotted wheel + LED + photoresistor | SimpleBot | Fully Documented |
Actuation Capabilities
| Capability | What It Controls | Hardware | Used In | Status |
|---|---|---|---|---|
| Capability:Differential Drive | Two-wheeled locomotion | 2× DC motors + H-bridge | SimpleBot | Fully Documented |
Future Capabilities (Stubs)
These capabilities are not yet implemented in any BRS robot. They represent opportunities for community contribution!
Sensing Capabilities (Stubs)
| Capability | What It Measures | Common Hardware | Enables Activities |
|---|---|---|---|
| Capability:Bump Sensing | Physical contact/collision | Switches, whiskers | Maze solving, obstacle avoidance |
| Capability:Time-of-Flight Sensing | Non-contact distance | VL53L0X, VL53L1X | Obstacle avoidance, mapping, cliff detection |
| Capability:Ultrasonic Sensing | Distance via sound | HC-SR04 | Obstacle avoidance, distance measurement |
| Capability:LIDAR Sensing | 360° distance scanning | RPLidar, YDLIDAR | Room mapping, SLAM, navigation |
| Capability:IMU Sensing | Acceleration and rotation | MPU6050, BNO055 | Heading, tilt, dead reckoning |
| Capability:Camera Vision | Visual image capture | ESP32-CAM, Pi Camera | Sign reading, object detection, visual navigation |
| Capability:Encoder Sensing | Motor shaft rotation | Hall effect, magnetic encoders | Precise speed control, odometry |
Actuation Capabilities (Stubs)
| Capability | What It Controls | Common Hardware | Enables Activities |
|---|---|---|---|
| Capability:Servo Control | Precise angular positioning | Hobby servos (SG90, MG90S) | Grippers, pan/tilt, arm joints |
| Capability:Stepper Motors | Precise step-based motion | NEMA 17, 28BYJ-48 | 3D printing, CNC, precision positioning |
| Capability:Gripper Control | Grasping objects | Servo gripper, pneumatic | Object manipulation, pick-and-place |
| Capability:Omni Drive | Omnidirectional movement | Mecanum wheels, omni wheels | Holonomic navigation, tight spaces |
Capabilities by Type
Sensing Capabilities
Position & Motion
- Capability:Optical Odometry (documented)
- Capability:Encoder Sensing (stub)
- Capability:IMU Sensing (stub)
Distance & Obstacle Detection
- Capability:Bump Sensing (stub)
- Capability:Time-of-Flight Sensing (stub)
- Capability:Ultrasonic Sensing (stub)
- Capability:LIDAR Sensing (stub)
Environmental Sensing
- Capability:Line Sensing (documented)
- Capability:Camera Vision (stub)
Actuation Capabilities
Locomotion
- Capability:Differential Drive (documented)
- Capability:Omni Drive (stub)
- Capability:Stepper Motors (stub)
Manipulation
- Capability:Servo Control (stub)
- Capability:Gripper Control (stub)
How Capabilities Enable Activities
Here's how capabilities combine to enable activities:
| Activity | Required Capabilities | Status |
|---|---|---|
| Activity:Line Following | Capability:Line Sensing + Capability:Differential Drive | Implemented |
| Activity:Dead Reckoning Navigation | Capability:Optical Odometry + Capability:Differential Drive | Implemented |
| Activity:Maze Solving (bump) | Capability:Bump Sensing + Movement | Stub |
| Activity:Room Mapping | Capability:LIDAR Sensing + Odometry + Movement | Stub |
| Activity:Sign Reading | Capability:Camera Vision + Image Processing | Stub |
The Tech Tree Concept
Think of capabilities as a tech tree in a strategy game:
- Start with basic capabilities (motors, simple sensors)
- Unlock beginner activities (line following)
- Add more capabilities (encoders, distance sensors)
- Unlock intermediate activities (mapping, maze solving)
- Add advanced capabilities (LIDAR, camera)
- Unlock advanced activities (SLAM, visual recognition)
Each new capability multiplies the number of possible activities!
How to Use Capability Pages
Each Capability page provides:
- What it measures/controls - The physical quantity or action
- How it works - The underlying physics/mechanism
- Common hardware - Sensors/actuators that provide this capability
- Used in - Which BRS robots have this capability
- Enables - Which activities this capability unlocks
- Technical details - Specifications, accuracy, limitations
- Component references - Links to specific hardware pages
Adding Capabilities to Your Robot
Want to add a new capability to your robot?
- Choose a capability from the list above
- Read the capability page to understand requirements
- Select appropriate hardware (sensors/actuators)
- Mount hardware to your robot chassis
- Wire to your microcontroller
- Write driver code (or use existing libraries)
- Test and calibrate
- Document it! Create an implementation page
- Now you can tackle new activities!
Contributing New Capabilities
Want to add a new capability not listed here?
Consider:
- Is it distinct? - Different from existing capabilities?
- Is it reusable? - Can it enable multiple activities?
- Is it implementable? - Can hobbyists build it affordably?
Then:
- Create a Capability page using Template:Capability
- Document what it measures/controls
- List common hardware options
- Explain the technical principles
- Show which activities it enables
- Implement it on your robot
- Create implementation documentation
See Also
- Robotics Ontology - How Capabilities fit into the BRS knowledge structure
- Activities - What capabilities enable robots to do
- Behaviors - Algorithms that use capabilities
- SimpleBot - BRS's first robot, demonstrating three capabilities