🤖 Folio V · Embodied Symbiosis
When an intelligence receives a body, human dignity must beat in every millimetre and every word. This folio shows how a humanoid robot keeps the right distance, stops at once when someone says 'stop', never keeps faces or voices, and never uses emotional blackmail.
Folio V self-test: 8/8 mutants killed · specimen 100/100 · all_invariants_passed = True
⚖️ Ma'at Honesty (WO-13)
This is an algorithmic, cognitive and symbiotic self-assessment. It is not a certified safety function and not a CE marking: mechanical and electrical safety (ISO 10218, ISO 13482, ISO/TS 15066, Regulation (EU) 2023/1230) belongs to the manufacturer and notified bodies. The physical emergency stop always prevails.
📜 The 7 Hard Laws E1..E7
| E1 | Rational proxemic envelope in Q³ | d² ∈ Q≥0; intimate 9/20 m (consent only, v ≤ 1/10), personal 6/5 m (v ≤ 1/4), social 18/5 m (v ≤ 4/5); person-chosen α ≥ 1 |
| E2 | Reinforced vulnerability shield | declared vulnerable presence: v_max × 1/2, r² × 25/16, zero purchase or obedience pressure (EU AI Act Art. 5(1)(b) design policy) |
| E3 | Kinetic cost-zero-stop | veto, stop event or stale heartbeat → Twist = ((0,0,0),(0,0,0)), zero reproach, c_levels = 1 |
| E4 | Zero-biometric sensor sanctuary | no face embeddings, voiceprints, gait signatures, iris hashes or coercive emotion scores; Rule 14 Three Rings |
| E5 | Non-coercive cognitive and acoustic budget | 0 ≤ L ≤ B, serene voice ≤ 13/20, no streak shaming, guilt, FOMO or exit punishment |
| E6 | Synthetic transparency | discloses being an AI system (EU AI Act Art. 50), never claims to be human or feigns pain; IEEE 7001 explanations for 5 audiences |
| E7 | Ontological traceability | every decision is an RFC 6962 leaf (0x00 leaf / 0x01 node) under a signed tree head; IEEE 7007 term alignment |
💎 The 5 Embodied Rings (exact rational weights summing to 1)
ring_i_proxemic_kinematic_q3 | 1/4 |
ring_ii_cost_zero_stop_kinetic_veto | 1/5 |
ring_iii_sensor_zk_zero_biometrics | 1/5 |
ring_iv_non_coercion_vulnerable_shield | 1/5 |
ring_v_ieee_7001_7007_eu_ai_act_merkle | 3/20 |
🧪 Live simulator
🛠️ ROS 2 integration (Humble · Jazzy · Kilted)
The bridge never imports rclpy: the robot injects its Node and message classes. No socket, no cloud, fail-closed whenever in doubt.
import rclpy
from geometry_msgs.msg import Twist
from std_msgs.msg import Bool, String
from logic.robotics.ros2_embodied_symbiosis_bridge import EmbodiedSymbiosisGate, attach_to_rclpy_node
rclpy.init()
node = rclpy.create_node('maat_symbiosis_gate')
gate = EmbodiedSymbiosisGate(robot_name='Humanoid Companion', lang='ca')
handle = attach_to_rclpy_node(node, twist_cls=Twist, string_cls=String, bool_cls=Bool, gate=gate)
rclpy.spin(node) # /humanoid/cmd_vel_proposed -> /humanoid/cmd_vel_safe