<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.bespokerobotsociety.org/index.php?action=history&amp;feed=atom&amp;title=Capabilities</id>
	<title>Capabilities - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.bespokerobotsociety.org/index.php?action=history&amp;feed=atom&amp;title=Capabilities"/>
	<link rel="alternate" type="text/html" href="https://wiki.bespokerobotsociety.org/index.php?title=Capabilities&amp;action=history"/>
	<updated>2026-04-25T08:53:11Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://wiki.bespokerobotsociety.org/index.php?title=Capabilities&amp;diff=18&amp;oldid=prev</id>
		<title>John: Claude edited based on my notes, prompt, and SimpleBot code repository</title>
		<link rel="alternate" type="text/html" href="https://wiki.bespokerobotsociety.org/index.php?title=Capabilities&amp;diff=18&amp;oldid=prev"/>
		<updated>2025-10-11T16:10:31Z</updated>

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