Capabilities

From Bespoke Robot Society
Revision as of 16:10, 11 October 2025 by John (talk | contribs) (Claude edited based on my notes, prompt, and SimpleBot code repository)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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

Distance & Obstacle Detection

Environmental Sensing

Actuation Capabilities

Locomotion

Manipulation

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:

  1. Start with basic capabilities (motors, simple sensors)
  2. Unlock beginner activities (line following)
  3. Add more capabilities (encoders, distance sensors)
  4. Unlock intermediate activities (mapping, maze solving)
  5. Add advanced capabilities (LIDAR, camera)
  6. Unlock advanced activities (SLAM, visual recognition)

Each new capability multiplies the number of possible activities!

How to Use Capability Pages

Each Capability page provides:

  1. What it measures/controls - The physical quantity or action
  2. How it works - The underlying physics/mechanism
  3. Common hardware - Sensors/actuators that provide this capability
  4. Used in - Which BRS robots have this capability
  5. Enables - Which activities this capability unlocks
  6. Technical details - Specifications, accuracy, limitations
  7. Component references - Links to specific hardware pages

Adding Capabilities to Your Robot

Want to add a new capability to your robot?

  1. Choose a capability from the list above
  2. Read the capability page to understand requirements
  3. Select appropriate hardware (sensors/actuators)
  4. Mount hardware to your robot chassis
  5. Wire to your microcontroller
  6. Write driver code (or use existing libraries)
  7. Test and calibrate
  8. Document it! Create an implementation page
  9. Now you can tackle new activities!

Contributing New Capabilities

Want to add a new capability not listed here?

Consider:

  1. Is it distinct? - Different from existing capabilities?
  2. Is it reusable? - Can it enable multiple activities?
  3. Is it implementable? - Can hobbyists build it affordably?

Then:

  1. Create a Capability page using Template:Capability
  2. Document what it measures/controls
  3. List common hardware options
  4. Explain the technical principles
  5. Show which activities it enables
  6. Implement it on your robot
  7. 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