{ "projectName": "Authority-Governed Assured Autonomy Rover Testbed", "approach": "## Overview\n\nThe \"Authority-Governed Assured Autonomy Rover Testbed\" project develops an autonomous rover designed for contested environments, featuring hierarchical authority control (HMAA), sensor spoofing resilience, and programmable authority degradation. Key subsystems include a robust power delivery network, dual-MCU compute for redundancy and control, comprehensive sensing for navigation and threat detection, and secure communication/authentication modules.\n\n## Assumptions\n\n* **Power Source:** Robot_battery_3s_lipo provides primary 11.1V power. Central_power_supply is external and only for central RF.\n* **Environment:** Operation in an indoor, controlled testbed with potential for RF interference and physical obstacles.\n* **Skill Level:** Familiarity with Raspberry Pi, ESP32, basic electronics, 3D printing, and mechanical assembly.\n* **Software:** Firmware and OS images for RPi5 and ESP32 are pre-developed or readily available for flashing.\n* **Tools:** Standard electronics tools (soldering iron, multimeter), 3D printer, basic mechanical tools.\n\n## Action Items\n\n- [ ] Print all 3D-printed mechanical components (esp32_mount, battery_holder, camera_mount, rf_antenna_mount, cable_clip_guide, rpi5_mount, lidar_mount).\n- [ ] Assemble the robot chassis: Attach robot_drive_wheel and robot_caster_wheel to robot_base_plate with dc_motor_mounts.\n- [ ] Mount robot_left_motor_high_torque and robot_right_motor_high_torque to dc_motor_mounts.\n- [ ] Install robot_rpi5 and robot_esp32 onto their respective mounts and secure to robot_base_plate or robot_top_plate using m3_standoffs and m3_bolts.\n- [ ] Integrate power delivery: Wire robot_battery_3s_lipo through robot_estop_button to robot_motor_power_regulator and robot_ubec_power_converter_high_capacity.\n- [ ] Connect robot_motor_power_regulator to robot_motor_driver_high_power, then connect the motor driver to robot_left_motor_high_torque and robot_right_motor_high_torque.\n- [ ] Connect robot_ubec_power_converter_high_capacity to robot_rpi5, robot_esp32, robot_imu_upgrade, and robot_camera_upgrade.\n- [ ] Wire all sensors (robot_lidar, robot_wheel_encoder, robot_tof_sensor, robot_imu_upgrade, robot_camera_upgrade) to robot_rpi5 or robot_esp32 according to specifications.\n- [ ] Connect communication modules: robot_lora_radio_900mhz to robot_rpi5 (SPI, GPIO) and robot_esp32 (SPI).\n- [ ] Implement secure elements and logging: Connect robot_secure_element and robot_logging_storage to robot_rpi5 (I2C/SPI respectively).\n- [ ] Integrate watchdog timer: Connect robot_watchdog to robot_rpi5 (RESET→RUN) and robot_esp32 (GPIO→WDI).\n- [ ] Perform initial power-on and connectivity tests for all modules.\n\n## Assembly Key Points\n\n* **robot_base_plate * robot_drive_wheel, robot_caster_wheel:** Ensure smooth rotation and proper alignment for drive mechanisms.\n* **robot_rpi5 * rpi5_mount:** Securely attach to prevent vibration-induced disconnections.\n* **robot_esp32 * esp32_mount:** Position to allow easy access to pins for wiring.\n* **robot_battery_3s_lipo * battery_holder:** Snug fit to prevent battery movement, consider vibration dampening.\n* **robot_estop_button * Power Regulators:** Critical safety interlock; ensure correct NC wiring to cut power to motors and primary logic.\n* **robot_motor_driver_high_power * robot_left/right_motor_high_torque:** Verify correct motor polarity for intended direction.\n* **robot_ubec_power_converter_high_capacity * various electrical components:** Verify 5V output stability and capacity for all connected devices.\n* **robot_rpi5 * robot_lidar:** USB connection for high data rate; ensure cable routing avoids mechanical interference.\n* **robot_rpi5 * robot_tof_sensor, robot_imu_upgrade, robot_secure_element:** I2C bus wiring requires correct SDA/SCL connections and proper pull-up resistors (if not integrated).\n* **robot_rpi5 * robot_camera_upgrade:** CSI connector is delicate; ensure careful insertion.\n* **robot_rpi5 * robot_logging_storage, robot_lora_radio_900mhz:** SPI bus connections (MOSI, MISO, SCK, CS) need correct pin assignments.\n* **robot_esp32 * robot_wheel_encoder:** GPIO for interrupt-driven counting; verify appropriate pull-ups or debouncing if needed.\n* **robot_esp32 * robot_motor_driver_high_power:** PWM signals for motor control; ensure correct frequency and duty cycle range.\n* **robot_esp32 * robot_lora_radio_900mhz:** SPI for radio communication.\n* **robot_watchdog * robot_rpi5, robot_esp32:** WDI (Watchdog Input) from ESP32, RESET to RPi5 RUN pin; critical for system robustness.\n* **robot_watchdog * robot_motor_driver_high_power:** DRV/DONE to ENABLE ensures motors are disabled on watchdog trigger.\n* **Cable Management:** Utilize cable_clip_guide to secure and organize wiring, preventing entanglement or damage.", "nodes": [ { "id": "robot_esp32", "name": "Robot MCU (ESP32)", "type": "mcu", "category": "electrical", "quantity": 1, "estimatedCost": 8, "purchaseUrl": "https://www.amazon.com/s?k=esp32+devkit+board", "description": "Local controller for robot sensors and actuators, handles local autonomy.", "dimensions": "55x28x12mm", "pins": [ "GPIO2", "GPIO4", "GPIO5", "GPIO12", "GPIO13", "GPIO14", "GPIO15", "GPIO16", "GPIO17", "GPIO18", "GPIO19", "GPIO21", "GPIO22", "GPIO23", "3V3", "5V", "GND", "TX", "RX" ], "productName": "ESP32-DevKitC-32D", "amazonUrl": "https://www.amazon.com/s?k=ESP32-DevKitC-32D&linkCode=ll2&tag=3e8hardware-20&linkId=4ccf4163514d07f9bf547ac1c23fd3e0&language=en_US&ref_=as_li_ss_tl", "imageUrl": "https://imgs.search.brave.com/xiIbA2ZGDyY3Y981KNnsBVIQYZlEycKSjLzKdNQNmi8/rs:fit:500:0:1:0/g:ce/aHR0cHM6Ly9tLm1l/ZGlhLWFtYXpvbi5j/b20vaW1hZ2VzL0kv/ODExNmhKZ0NIRVMu/anBn" }, { "id": "robot_rpi5", "name": "Robot Main Compute (RPi 5)", "type": "mcu", "category": "electrical", "quantity": 1, "estimatedCost": 80, "purchaseUrl": "https://www.raspberrypi.com/products/raspberry-pi-5/", "productName": "Raspberry Pi 5 8GB", "amazonUrl": "https://www.amazon.com/s?k=Raspberry%20Pi%205%208GB&linkCode=ll2&tag=3e8hardware-20&linkId=4ccf4163514d07f9bf547ac1c23fd3e0&language=en_US&ref_=as_li_ss_tl", "imageUrl": "https://imgs.search.brave.com/4Mz6zS9HLomGVxSZc-cAn6e_TbjCuybhfzUPwbqPBOY/rs:fit:500:0:1:0/g:ce/aHR0cHM6Ly9pLmV4/dHJlbWV0ZWNoLmNv/bS9pbWFnZXJ5L2Nv/bnRlbnQtdHlwZXMv/MDI1OUFxcmhZbmlh/cEpmRTE0YUFXVFQv/aGVyby1pbWFnZS5m/aXRfbGltLnYxNzM2/MTgyMDM1LmpwZw" }, { "id": "robot_lidar", "name": "Robot LiDAR Sensor", "type": "sensor", "category": "electrical", "quantity": 1, "estimatedCost": 99, "purchaseUrl": "https://www.slamtec.com/en/Lidar/A1", "productName": "Slamtec RPLIDAR A1M8", "amazonUrl": "https://www.amazon.com/s?k=Slamtec%20RPLIDAR%20A1M8&linkCode=ll2&tag=3e8hardware-20&linkId=4ccf4163514d07f9bf547ac1c23fd3e0&language=en_US&ref_=as_li_ss_tl", "imageUrl": "https://imgs.search.brave.com/f1_GbX5j69G3lpldvgBapB77LP46zSBeHhkDiTNDoYY/rs:fit:500:0:1:0/g:ce/aHR0cHM6Ly9pbWFn/ZS5tYWRlLWluLWNo/aW5hLmNvbS8xNTVm/MGowMGJnQW9ObkdN/d3d1bC9TbGFtdGVj/LVJwbGlkYXItQXZv/aWRzLU9ic3RhY2xl/cy1TbGFtLU5hdmln/YXRpb24tTGlkYXIt/QTFtOC1IaWdoLVNw/ZWVkLVNjYW5uZXIt/S2l0LXdpdGgtMTJt/LVJhbmdpbmctZm9y/LVJvcy1Sb2JvdGlj/cy53ZWJw" }, { "id": "robot_wheel_encoder", "name": "Robot Wheel Encoder", "type": "sensor", "category": "electrical", "quantity": 2, "estimatedCost": 7.5, "purchaseUrl": "https://www.pololu.com/product/4760", "productName": "Magnetic Encoder Pair Kit for Micro Metal Gearmotors, 12 CPR, 2.7-18V", "amazonUrl": "https://www.amazon.com/s?k=Magnetic%20Encoder%20Pair%20Kit%20for%20Micro%20Metal%20Gearmotors%2C%2012%20CPR%2C%202.7-18V&linkCode=ll2&tag=3e8hardware-20&linkId=4ccf4163514d07f9bf547ac1c23fd3e0&language=en_US&ref_=as_li_ss_tl", "imageUrl": "https://imgs.search.brave.com/iCg3by_dof2H2CyggOwXLvu_XhB-Y_98DzUGM0xKLhE/rs:fit:500:0:1:0/g:ce/aHR0cHM6Ly93d3cu/ZGlyZW5jLm5ldC9t/YW55ZXRpay1lbmNv/ZGVyLXRha2ltaS1w/b2xvbHUtMzA4MS1l/bi1yb2JvdGlrLXRl/a2VybGVrLXBvbG9s/dS0xNjcwMS01OS1C/LmpwZw" }, { "id": "robot_tof_sensor", "name": "Robot ToF Ranging Sensor", "type": "sensor", "category": "electrical", "quantity": 1, "estimatedCost": 12.95, "purchaseUrl": "https://www.adafruit.com/product/3967", "description": "VL53L1X Time of Flight sensor for close-range obstacle detection and complementing the LiDAR sensor.", "pins": [ "VIN", "GND", "SDA", "SCL" ], "productName": "Adafruit VL53L1X Time of Flight Distance Sensor", "amazonUrl": "https://www.amazon.com/s?k=Adafruit%20VL53L1X%20Time%20of%20Flight%20Distance%20Sensor&linkCode=ll2&tag=3e8hardware-20&linkId=4ccf4163514d07f9bf547ac1c23fd3e0&language=en_US&ref_=as_li_ss_tl", "imageUrl": "https://imgs.search.brave.com/F29otHczx6_UeDVdRzY3f-nyZXizO2ibT8c8nwyjjUo/rs:fit:500:0:1:0/g:ce/aHR0cHM6Ly9jZG4t/c2hvcC5hZGFmcnVp/dC5jb20vOTcweDcy/OC8zMzE3LTE1Lmpw/Zw" }, { "id": "robot_watchdog", "name": "Robot Watchdog Timer", "type": "module", "category": "electrical", "quantity": 1, "estimatedCost": 7.5, "purchaseUrl": "https://www.sparkfun.com/products/14959", "description": "Hardware watchdog timer to ensure system stability and trigger recovery actions if the main compute hangs.", "pins": [ "VCC", "GND", "WDI", "RESET" ], "productName": "SparkFun TPL5110 Nano Power Timer", "amazonUrl": "https://www.amazon.com/s?k=SparkFun%20TPL5110%20Nano%20Power%20Timer&linkCode=ll2&tag=3e8hardware-20&linkId=4ccf4163514d07f9bf547ac1c23fd3e0&language=en_US&ref_=as_li_ss_tl", "imageUrl": "https://imgs.search.brave.com/LRIgdZbpcuWEWoN3giJg2TKJ6iviEpBOY5WsWGpNzLg/rs:fit:500:0:1:0/g:ce/aHR0cHM6Ly93d3cu/c3BhcmtmdW4uY29t/L21lZGlhL2NhdGFs/b2cvcHJvZHVjdC9j/YWNoZS9hNzkzZjEz/ZmQzZDY3OGNlYTEz/ZDI4MjA2ODk1YmEw/Yy8xLzUvMTUzNTMt/U3BhcmtGdW5fTmFu/b19Qb3dlcl9UaW1l/cl8tX1RQTDUxMTAt/MDEuanBn" }, { "id": "robot_estop_button", "name": "Robot Emergency Stop Button", "type": "actuator", "category": "electrical", "quantity": 1, "estimatedCost": 5.95, "purchaseUrl": "https://www.adafruit.com/product/1256", "description": "A physical emergency stop button to immediately cut power to the motors for safety during testing.", "pins": [ "NC1", "NC2" ], "productName": "Mushroom Pushbutton", "amazonUrl": "https://www.amazon.com/s?k=Mushroom%20Pushbutton&linkCode=ll2&tag=3e8hardware-20&linkId=4ccf4163514d07f9bf547ac1c23fd3e0&language=en_US&ref_=as_li_ss_tl", "imageUrl": "https://imgs.search.brave.com/kRUbNURogNTvgpolJ371k10jvVt-pJlIw1zdAXM2Yak/rs:fit:500:0:1:0/g:ce/aHR0cHM6Ly9tLm1l/ZGlhLWFtYXpvbi5j/b20vaW1hZ2VzL0kv/NjFwUStidUZTdUwu/anBn" }, { "id": "robot_logging_storage", "name": "Robot Logging Storage", "type": "module", "category": "electrical", "quantity": 1, "estimatedCost": 8.95, "purchaseUrl": "https://www.adafruit.com/product/254", "description": "A dedicated microSD card module for logging sensor data, trust outputs, and system events for post-mission analysis.", "pins": [ "VCC", "GND", "MISO", "MOSI", "SCK", "CS" ], "productName": "Adafruit MicroSD card breakout board+", "amazonUrl": "https://www.amazon.com/s?k=Adafruit%20MicroSD%20card%20breakout%20board%2B&linkCode=ll2&tag=3e8hardware-20&linkId=4ccf4163514d07f9bf547ac1c23fd3e0&language=en_US&ref_=as_li_ss_tl", "imageUrl": "https://imgs.search.brave.com/vJhn9x1h5tspeVEHNY00QINk_03E0DMnqHGsOJZiZaM/rs:fit:0:180:1:0/g:ce/aHR0cHM6Ly9jZG4x/MS5iaWdjb21tZXJj/ZS5jb20vcy0yZmJ5/Zm5tOGV2L2ltYWdl/cy9zdGVuY2lsLzEw/MHgxMDAvcHJvZHVj/dHMvMTA4NS8zODY3/Lzgxa0J4TzdaUndM/Ll9BQ19TTDE1MDBf/X180ODM5NC4xNjAx/OTI2OTM5X183MjI0/Ni4xNjAxOTI3MjU1/LmpwZz9jPTI" }, { "id": "robot_secure_element", "name": "Robot Secure Element", "type": "module", "category": "electrical", "quantity": 1, "estimatedCost": 15, "purchaseUrl": "https://www.microchip.com/en-us/product/ATECC608B", "description": "Cryptographic co-processor for secure key storage and cryptographic operations.", "productName": "ATECC608B TrustFLEX", "amazonUrl": "https://www.amazon.com/s?k=ATECC608B%20TrustFLEX&linkCode=ll2&tag=3e8hardware-20&linkId=4ccf4163514d07f9bf547ac1c23fd3e0&language=en_US&ref_=as_li_ss_tl", "imageUrl": "https://imgs.search.brave.com/j2h9SRO2sxKV6-Vg0_sHrESQTys529voNKJ9wcDkBzo/rs:fit:500:0:1:0/g:ce/aHR0cHM6Ly9zaG9w/Lm01c3RhY2suY29t/L2Nkbi9zaG9wL3By/b2R1Y3RzLzFfZjA0/OTBiOWMtMjliMy00/MTA0LTgyNzUtZjY5/ZTFjNzk0MjRiXzEy/MDB4MTIwMC5qcGc_/dj0xNjI3ODYzOTIz" }, { "id": "central_power_supply", "name": "Central Power Supply", "type": "power", "category": "electrical", "quantity": 1, "estimatedCost": 45, "purchaseUrl": "https://www.digikey.com/en/products/detail/mean-well-usa-inc/LRS-150-12/7705030", "description": "Ground station 12V DC power supply for running experiments and charging robots.", "productName": "Mean Well LRS-150-12", "amazonUrl": "https://www.amazon.com/s?k=Mean%20Well%20LRS-150-12&linkCode=ll2&tag=3e8hardware-20&linkId=4ccf4163514d07f9bf547ac1c23fd3e0&language=en_US&ref_=as_li_ss_tl", "imageUrl": "https://imgs.search.brave.com/7ph1adFj70lmNS4HFewYOuV8Rw8gTD_MMv6P9hKqfb4/rs:fit:500:0:1:0/g:ce/aHR0cHM6Ly90aGVw/aWh1dC5jb20vY2Ru/L3Nob3AvcHJvZHVj/dHMvdWstdXNiLWMt/cmFzcGJlcnJ5LXBp/LTQtcG93ZXItc3Vw/cGx5LTV2LTNhLXRo/ZS1waS1odXQtMTAz/OTk3LTI4MjEzOTM3/MDc4NDY3LmpwZz92/PTE2NDYxMTA5ODIm/d2lkdGg9MTgwMA" }, { "id": "central_rf_transceiver", "name": "Central RF Transceiver", "type": "module", "category": "electrical", "quantity": 1, "estimatedCost": 39.95, "purchaseUrl": "https://www.adafruit.com/product/3231", "description": "Ground station 900MHz RF transceiver for communication with the robot swarm, used for RF heartbeat monitoring and SATA comms trust input.", "productName": "Adafruit RFM95W LoRa Radio Transceiver Breakout", "amazonUrl": "https://www.amazon.com/s?k=Adafruit%20RFM95W%20LoRa%20Radio%20Transceiver%20Breakout&linkCode=ll2&tag=3e8hardware-20&linkId=4ccf4163514d07f9bf547ac1c23fd3e0&language=en_US&ref_=as_li_ss_tl", "imageUrl": "https://imgs.search.brave.com/4NeCeXfm_w3F5yWJmtCVGRjT8v9jIS0-PjVW90cmInI/rs:fit:500:0:1:0/g:ce/aHR0cHM6Ly93d3cu/cm9ib3RpY3Mub3Jn/LnphL2ltYWdlL2Nh/Y2hlL3dwL2dqL2Fk/YWZydWl0L0FGMzA3/Mi8zMDcyLTAwLTY1/MHgzNTAud2VicA" }, { "id": "robot_base_plate", "name": "Robot Base Plate", "type": "structural", "category": "mechanical", "quantity": 1, "estimatedCost": 7.5, "purchaseUrl": "N/A - Custom part", "description": "The main lower chassis plate for mounting motors, wheels, and electronics.", "material": "Acrylic or PETG", "amazonUrl": "https://www.amazon.com/s?k=Robot%20Base%20Plate&linkCode=ll2&tag=3e8hardware-20&linkId=4ccf4163514d07f9bf547ac1c23fd3e0&language=en_US&ref_=as_li_ss_tl" }, { "id": "robot_top_plate", "name": "Robot Top Plate", "type": "structural", "category": "mechanical", "quantity": 1, "estimatedCost": 6.5, "purchaseUrl": "N/A - Custom part", "description": "The upper chassis plate for mounting sensors and the main computer.", "material": "Acrylic or PETG", "amazonUrl": "https://www.amazon.com/s?k=Robot%20Top%20Plate&linkCode=ll2&tag=3e8hardware-20&linkId=4ccf4163514d07f9bf547ac1c23fd3e0&language=en_US&ref_=as_li_ss_tl" }, { "id": "robot_drive_wheel", "name": "Robot Drive Wheel", "type": "mechanism", "category": "mechanical", "quantity": 2, "estimatedCost": 3, "purchaseUrl": "https://www.pololu.com/product/1420", "productName": "Pololu Wheel 60x8mm Pair", "amazonUrl": "https://www.amazon.com/s?k=Pololu%20Wheel%2060x8mm%20Pair&linkCode=ll2&tag=3e8hardware-20&linkId=4ccf4163514d07f9bf547ac1c23fd3e0&language=en_US&ref_=as_li_ss_tl" }, { "id": "robot_caster_wheel", "name": "Robot Castor Wheel", "type": "mechanism", "category": "mechanical", "quantity": 1, "estimatedCost": 2.95, "purchaseUrl": "https://www.pololu.com/product/950", "productName": "Pololu Ball Caster with 1/2\" Plastic Ball", "amazonUrl": "https://www.amazon.com/s?k=Pololu%20Ball%20Caster%20with%201%2F2%22%20Plastic%20Ball&linkCode=ll2&tag=3e8hardware-20&linkId=4ccf4163514d07f9bf547ac1c23fd3e0&language=en_US&ref_=as_li_ss_tl" }, { "id": "dc_motor_mount", "name": "DC Motor Mount Bracket", "type": "structural", "category": "mechanical", "quantity": 2, "estimatedCost": 1.5, "purchaseUrl": "https://www.pololu.com/product/1089", "productName": "Pololu Stamped Aluminum L-Bracket for 25D mm Gearmotors", "amazonUrl": "https://www.amazon.com/s?k=Pololu%20Stamped%20Aluminum%20L-Bracket%20for%2025D%20mm%20Gearmotors&linkCode=ll2&tag=3e8hardware-20&linkId=4ccf4163514d07f9bf547ac1c23fd3e0&language=en_US&ref_=as_li_ss_tl" }, { "id": "esp32_mount", "name": "ESP32 Board Mount", "type": "3d_printed", "category": "mechanical", "quantity": 1, "estimatedCost": 0.5, "purchaseUrl": "N/A - 3D Printed", "material": "PLA", "printSettings": "0.2mm layer height, 20% infill", "amazonUrl": "https://www.amazon.com/s?k=ESP32%20Board%20Mount&linkCode=ll2&tag=3e8hardware-20&linkId=4ccf4163514d07f9bf547ac1c23fd3e0&language=en_US&ref_=as_li_ss_tl" }, { "id": "battery_holder", "name": "Battery Holder", "type": "3d_printed", "category": "mechanical", "quantity": 1, "estimatedCost": 0.75, "purchaseUrl": "N/A - 3D Printed", "material": "PETG", "printSettings": "0.2mm layer height, 30% infill", "amazonUrl": "https://www.amazon.com/s?k=Battery%20Holder&linkCode=ll2&tag=3e8hardware-20&linkId=4ccf4163514d07f9bf547ac1c23fd3e0&language=en_US&ref_=as_li_ss_tl" }, { "id": "camera_mount", "name": "Camera Module Mount", "type": "3d_printed", "category": "mechanical", "quantity": 1, "estimatedCost": 0.4, "purchaseUrl": "N/A - 3D Printed", "material": "PLA", "printSettings": "0.2mm layer height, 20% infill", "amazonUrl": "https://www.amazon.com/s?k=Camera%20Module%20Mount&linkCode=ll2&tag=3e8hardware-20&linkId=4ccf4163514d07f9bf547ac1c23fd3e0&language=en_US&ref_=as_li_ss_tl" }, { "id": "rf_antenna_mount", "name": "RF Antenna Mount", "type": "3d_printed", "category": "mechanical", "quantity": 1, "estimatedCost": 0.3, "purchaseUrl": "N/A - 3D Printed", "material": "PLA", "printSettings": "0.2mm layer height, 20% infill", "amazonUrl": "https://www.amazon.com/s?k=RF%20Antenna%20Mount&linkCode=ll2&tag=3e8hardware-20&linkId=4ccf4163514d07f9bf547ac1c23fd3e0&language=en_US&ref_=as_li_ss_tl" }, { "id": "cable_clip_guide", "name": "Cable Clip/Guide", "type": "3d_printed", "category": "mechanical", "quantity": 4, "estimatedCost": 0.1, "purchaseUrl": "N/A - 3D Printed", "material": "PLA", "printSettings": "0.2mm layer height, 20% infill", "amazonUrl": "https://www.amazon.com/s?k=Cable%20Clip%2FGuide&linkCode=ll2&tag=3e8hardware-20&linkId=4ccf4163514d07f9bf547ac1c23fd3e0&language=en_US&ref_=as_li_ss_tl" }, { "id": "rpi5_mount", "name": "Raspberry Pi 5 Mount", "type": "3d_printed", "category": "mechanical", "quantity": 1, "estimatedCost": 0.6, "purchaseUrl": "N/A - 3D Printed", "material": "PETG", "printSettings": "0.2mm layer height, 25% infill", "amazonUrl": "https://www.amazon.com/s?k=Raspberry%20Pi%205%20Mount&linkCode=ll2&tag=3e8hardware-20&linkId=4ccf4163514d07f9bf547ac1c23fd3e0&language=en_US&ref_=as_li_ss_tl" }, { "id": "lidar_mount", "name": "LiDAR Sensor Mount", "type": "3d_printed", "category": "mechanical", "quantity": 1, "estimatedCost": 0.55, "purchaseUrl": "N/A - 3D Printed", "material": "PLA", "printSettings": "0.2mm layer height, 20% infill", "amazonUrl": "https://www.amazon.com/s?k=LiDAR%20Sensor%20Mount&linkCode=ll2&tag=3e8hardware-20&linkId=4ccf4163514d07f9bf547ac1c23fd3e0&language=en_US&ref_=as_li_ss_tl" }, { "id": "m3_standoff_6mm", "name": "M3 Brass Standoff 6mm", "type": "misc", "category": "mechanical", "quantity": 8, "estimatedCost": 0.1, "purchaseUrl": "https://www.mcmaster.com/91780A121/", "productName": "M3 x 0.5 mm Thread, 6 mm Long, Male-Female Hex Standoff", "amazonUrl": "https://www.amazon.com/s?k=M3%20x%200.5%20mm%20Thread%2C%206%20mm%20Long%2C%20Male-Female%20Hex%20Standoff&linkCode=ll2&tag=3e8hardware-20&linkId=4ccf4163514d07f9bf547ac1c23fd3e0&language=en_US&ref_=as_li_ss_tl" }, { "id": "m3_standoff_20mm", "name": "M3 Brass Standoff 20mm", "type": "misc", "category": "mechanical", "quantity": 4, "estimatedCost": 0.15, "purchaseUrl": "https://www.mcmaster.com/91780A141/", "productName": "M3 x 0.5 mm Thread, 20 mm Long, Male-Female Hex Standoff", "amazonUrl": "https://www.amazon.com/s?k=M3%20x%200.5%20mm%20Thread%2C%2020%20mm%20Long%2C%20Male-Female%20Hex%20Standoff&linkCode=ll2&tag=3e8hardware-20&linkId=4ccf4163514d07f9bf547ac1c23fd3e0&language=en_US&ref_=as_li_ss_tl" }, { "id": "m3_bolt_8mm", "name": "M3 Bolt 8mm", "type": "misc", "category": "mechanical", "quantity": 20, "estimatedCost": 0.05, "purchaseUrl": "https://www.mcmaster.com/91292A113/", "productName": "M3 x 0.5 mm Thread, 8 mm Long, Socket Head Cap Screw", "amazonUrl": "https://www.amazon.com/s?k=M3%20x%200.5%20mm%20Thread%2C%208%20mm%20Long%2C%20Socket%20Head%20Cap%20Screw&linkCode=ll2&tag=3e8hardware-20&linkId=4ccf4163514d07f9bf547ac1c23fd3e0&language=en_US&ref_=as_li_ss_tl" }, { "id": "m3_bolt_12mm", "name": "M3 Bolt 12mm", "type": "misc", "category": "mechanical", "quantity": 10, "estimatedCost": 0.06, "purchaseUrl": "https://www.mcmaster.com/91292A116/", "productName": "M3 x 0.5 mm Thread, 12 mm Long, Socket Head Cap Screw", "amazonUrl": "https://www.amazon.com/s?k=M3%20x%200.5%20mm%20Thread%2C%2012%20mm%20Long%2C%20Socket%20Head%20Cap%20Screw&linkCode=ll2&tag=3e8hardware-20&linkId=4ccf4163514d07f9bf547ac1c23fd3e0&language=en_US&ref_=as_li_ss_tl" }, { "id": "m3_nut", "name": "M3 Nut", "type": "misc", "category": "mechanical", "quantity": 20, "estimatedCost": 0.03, "purchaseUrl": "https://www.mcmaster.com/90592A085/", "productName": "M3 x 0.5 mm Thread Hex Nut", "amazonUrl": "https://www.amazon.com/s?k=M3%20x%200.5%20mm%20Thread%20Hex%20Nut&linkCode=ll2&tag=3e8hardware-20&linkId=4ccf4163514d07f9bf547ac1c23fd3e0&language=en_US&ref_=as_li_ss_tl" }, { "id": "robot_battery_3s_lipo", "name": "Robot LiPo Battery (High Capacity)", "type": "power", "category": "electrical", "quantity": 1, "estimatedCost": 35, "purchaseUrl": "https://www.amazon.com/example_3s_5000mah_lipo", "description": "Upgraded 3S 5000mAh LiPo battery to provide sufficient runtime for extended experiment campaigns.", "productName": "3S 11.1V 5000mAh LiPo Battery", "amazonUrl": "https://www.amazon.com/s?k=3S%2011.1V%205000mAh%20LiPo%20Battery&linkCode=ll2&tag=3e8hardware-20&linkId=4ccf4163514d07f9bf547ac1c23fd3e0&language=en_US&ref_=as_li_ss_tl", "imageUrl": "https://imgs.search.brave.com/mbUgeeEzpUH9iFnAd2QodcBYqHkcfeR00rmTWHxzMY0/rs:fit:500:0:1:0/g:ce/aHR0cHM6Ly9leHRy/ZW16YnNzLmNvbS9j/ZG4vc2hvcC9maWxl/cy9odHRwc3RyYXh4/YXMuY29tc2l0ZXNk/ZWZhdWx0ZmlsZXNp/bWFnZXNwcm9kdWN0/czI4MzJ4XzQ4MHg0/ODAuanBnP3Y9MTcz/MjMxMzg5OA" }, { "id": "robot_motor_power_regulator", "name": "Robot Motor Power Regulator", "type": "power", "category": "electrical", "quantity": 1, "estimatedCost": 7.95, "purchaseUrl": "https://www.pololu.com/product/2859", "description": "A 9V step-down voltage regulator (buck converter) to provide a safe and stable voltage to the motor driver from the 3S LiPo battery, preventing over-voltage damage.", "productName": "Pololu 9V, 2.3A Step-Down Voltage Regulator D24V22F9", "amazonUrl": "https://www.amazon.com/s?k=Pololu%209V%2C%202.3A%20Step-Down%20Voltage%20Regulator%20D24V22F9&linkCode=ll2&tag=3e8hardware-20&linkId=4ccf4163514d07f9bf547ac1c23fd3e0&language=en_US&ref_=as_li_ss_tl", "imageUrl": "https://imgs.search.brave.com/mb-Ol43T8FtH09tV5jMQfTcuWRmjSrzduJSGCJEzIts/rs:fit:500:0:1:0/g:ce/aHR0cHM6Ly9jZG4u/Ym9kYW5pdXMuY29t/L21lZGlhLzEvZjY3/MTYxMTk0X3BvbG9s/dS05di0yLjNhLXN0/ZXAtZG93bi12b2x0/YWdlLXJlZ3VsYXRv/cl94LmpwZw" }, { "id": "robot_lora_radio_900mhz", "name": "Robot LoRa Radio Module (900MHz)", "type": "module", "category": "electrical", "quantity": 1, "estimatedCost": 19.95, "purchaseUrl": "https://www.adafruit.com/product/3072", "description": "Adafruit RFM95W LoRa Radio Transceiver Breakout for 900 MHz ISM band, providing long-range spread spectrum communication.", "productName": "Adafruit RFM95W LoRa Radio Transceiver Breakout - 900MHz", "amazonUrl": "https://www.amazon.com/s?k=Adafruit%20RFM95W%20LoRa%20Radio%20Transceiver%20Breakout%20-%20900MHz&linkCode=ll2&tag=3e8hardware-20&linkId=4ccf4163514d07f9bf547ac1c23fd3e0&language=en_US&ref_=as_li_ss_tl", "imageUrl": "https://imgs.search.brave.com/u0p8djDC63kAXGYrkGuuAFGaI0izbDg1VekqFP5_Oms/rs:fit:500:0:1:0/g:ce/aHR0cHM6Ly93d3cu/ZmFidG9sYWIuY29t/L2ltYWdlL2NhY2hl/L2NhdGFsb2cvU0JD/L0FkYWZydWl0L1dp/cmVsZXNzL1JGJTIw/KFJhZGlvJTIwQW5k/JTIwRnJlcXVlbmN5/KS8zMDcyLTA3LTIy/OHgyMjguanBn" }, { "id": "robot_ubec_power_converter_high_capacity", "name": "Robot 5V UBEC (High Capacity)", "type": "power", "category": "electrical", "quantity": 1, "estimatedCost": 12.5, "purchaseUrl": "https://www.amazon.com/Castle-Creations-Bec-Switching-Regulator/dp/B000MXAR12", "description": "High-capacity 10A UBEC for converting LiPo battery voltage to a stable 5V for powering the RPi and other electronics.", "productName": "Castle Creations 10A CC BEC", "amazonUrl": "https://www.amazon.com/s?k=Castle%20Creations%2010A%20CC%20BEC&linkCode=ll2&tag=3e8hardware-20&linkId=4ccf4163514d07f9bf547ac1c23fd3e0&language=en_US&ref_=as_li_ss_tl", "imageUrl": "https://imgs.search.brave.com/lTGtRWaXCpk8DACJRP4taMOkkqP1pQZauqJd3dqD6J8/rs:fit:500:0:1:0/g:ce/aHR0cHM6Ly9jZG4x/MS5iaWdjb21tZXJj/ZS5jb20vcy1vaTJn/OGs2b2M2L2ltYWdl/cy9zdGVuY2lsLzUw/MHg2NTkvcHJvZHVj/dHMvMTMyLzQ0MC9D/Q19CRUNfcGljXzFf/XzE4ODYxLjE1MDIz/Mzk0MzguanBnP2M9/Mg" }, { "id": "robot_left_motor_high_torque", "name": "Robot Left Drive Motor (High Torque)", "type": "actuator", "category": "electrical", "quantity": 1, "estimatedCost": 15, "purchaseUrl": "https://www.pololu.com/product/4862", "description": "High-torque 12V DC motor with a 75:1 metal gearbox and integrated encoder.", "productName": "Pololu 12V, 75:1 Metal Gearmotor 37Dx73L mm with 64 CPR Encoder", "amazonUrl": "https://www.amazon.com/s?k=Pololu%2012V%2C%2075%3A1%20Metal%20Gearmotor%2037Dx73L%20mm%20with%2064%20CPR%20Encoder&linkCode=ll2&tag=3e8hardware-20&linkId=4ccf4163514d07f9bf547ac1c23fd3e0&language=en_US&ref_=as_li_ss_tl", "imageUrl": "https://imgs.search.brave.com/dV1dGC5-WXhsNS_3Za5QjPVCBU74GLq93SKbGtGd_V0/rs:fit:500:0:1:0/g:ce/aHR0cHM6Ly9tLm1l/ZGlhLWFtYXpvbi5j/b20vaW1hZ2VzL0kv/NTEtcSs5SFBTd0wu/anBn" }, { "id": "robot_right_motor_high_torque", "name": "Robot Right Drive Motor (High Torque)", "type": "actuator", "category": "electrical", "quantity": 1, "estimatedCost": 15, "purchaseUrl": "https://www.pololu.com/product/4862", "description": "High-torque 12V DC motor with a 75:1 metal gearbox and integrated encoder.", "productName": "Pololu 12V, 75:1 Metal Gearmotor 37Dx73L mm with 64 CPR Encoder", "amazonUrl": "https://www.amazon.com/s?k=Pololu%2012V%2C%2075%3A1%20Metal%20Gearmotor%2037Dx73L%20mm%20with%2064%20CPR%20Encoder&linkCode=ll2&tag=3e8hardware-20&linkId=4ccf4163514d07f9bf547ac1c23fd3e0&language=en_US&ref_=as_li_ss_tl", "imageUrl": "https://imgs.search.brave.com/dV1dGC5-WXhsNS_3Za5QjPVCBU74GLq93SKbGtGd_V0/rs:fit:500:0:1:0/g:ce/aHR0cHM6Ly9tLm1l/ZGlhLWFtYXpvbi5j/b20vaW1hZ2VzL0kv/NTEtcSs5SFBTd0wu/anBn" }, { "id": "robot_motor_driver_high_power", "name": "Robot Motor Driver (High Power)", "type": "actuator", "category": "electrical", "quantity": 1, "estimatedCost": 44.95, "purchaseUrl": "https://www.pololu.com/product/2507", "description": "Dual G2 High-Power Motor Driver capable of supplying up to 18A continuous current per channel, suitable for the upgraded motors.", "productName": "Pololu Dual G2 High-Power Motor Driver 18v18", "amazonUrl": "https://www.amazon.com/s?k=Pololu%20Dual%20G2%20High-Power%20Motor%20Driver%2018v18&linkCode=ll2&tag=3e8hardware-20&linkId=4ccf4163514d07f9bf547ac1c23fd3e0&language=en_US&ref_=as_li_ss_tl", "imageUrl": "https://imgs.search.brave.com/bp4WfQlR-uy2YCyXWi82VzEhxD3cRsRAcZQIhSsb1Bw/rs:fit:500:0:1:0/g:ce/aHR0cHM6Ly90aGVw/aWh1dC5jb20vY2Ru/L3Nob3AvcHJvZHVj/dHMvcG9sb2x1LWR1/YWwtZzItaGlnaC1w/b3dlci1tb3Rvci1k/cml2ZXItZm9yLXJh/c3BiZXJyeS1waS1w/b2xvbHUtMjMxNzU3/ODg1Mjc4MTEuanBn/P3Y9MTY0NjI3NTUw/MiZ3aWR0aD0xMDI0" }, { "id": "robot_imu_upgrade", "name": "Upgraded Robot IMU (BNO085)", "type": "sensor", "category": "electrical", "quantity": 1, "estimatedCost": 22.95, "purchaseUrl": "https://www.adafruit.com/product/4754", "description": "A 9-DOF IMU that uses sensor fusion to provide more accurate orientation and motion data, replacing the previous MPU-6050.", "pins": [ "VIN", "3V3", "GND", "SCL", "SDA", "INT", "RST" ], "productName": "Adafruit 9-DOF Orientation IMU Fusion Breakout - BNO085", "amazonUrl": "https://www.amazon.com/s?k=Adafruit%209-DOF%20Orientation%20IMU%20Fusion%20Breakout%20-%20BNO085&linkCode=ll2&tag=3e8hardware-20&linkId=4ccf4163514d07f9bf547ac1c23fd3e0&language=en_US&ref_=as_li_ss_tl", "imageUrl": "https://imgs.search.brave.com/o9ih2aGKOu9W7SFxDEdrUZjybnX5g-gkUumvEe7RqKM/rs:fit:500:0:1:0/g:ce/aHR0cHM6Ly93d3cu/a2l3aS1lbGVjdHJv/bmljcy5jb20vaW1h/Z2UvY2FjaGUvY2F0/YWxvZy9wcm9kdWN0/L21haXc4NGZkLzQ3/NTQtMDItNzAweDUy/NWguanBn" }, { "id": "robot_camera_upgrade", "name": "Upgraded Robot Camera (RPi v3)", "type": "sensor", "category": "electrical", "quantity": 1, "estimatedCost": 25, "purchaseUrl": "https://www.raspberrypi.com/products/camera-module-3/", "description": "A high-resolution camera with a Sony IMX708 sensor, providing significantly better image quality for perception tasks compared to the old OV2640 module.", "pins": [ "CSI Connector" ], "productName": "Raspberry Pi Camera Module 3", "amazonUrl": "https://www.amazon.com/s?k=Raspberry%20Pi%20Camera%20Module%203&linkCode=ll2&tag=3e8hardware-20&linkId=4ccf4163514d07f9bf547ac1c23fd3e0&language=en_US&ref_=as_li_ss_tl", "imageUrl": "https://imgs.search.brave.com/If0X6xEnv5PctEgZhlEV-Yv04jQJo6BzAcSii4JaYf4/rs:fit:500:0:1:0/g:ce/aHR0cHM6Ly93d3cu/d2F2ZXNoYXJlLmNv/bS9pbWcvZGV2a2l0/L2FjY0JvYXJkL1Jh/c3BiZXJyeS1QaS1D/YW1lcmEtTW9kdWxl/LTMvUmFzcGJlcnJ5/LVBpLUNhbWVyYS1N/b2R1bGUtMy1kZXRh/aWxzLTEzLmpwZw" } ], "electricalConnections": [ { "source": "robot_rpi5", "target": "robot_esp32", "type": "data", "label": "High-Level Commands", "protocol": "UART" }, { "source": "robot_rpi5", "target": "robot_lidar", "type": "data", "label": "LiDAR Data", "protocol": "USB" }, { "source": "robot_esp32", "target": "robot_wheel_encoder", "type": "data", "label": "Encoder Pulses", "protocol": "GPIO" }, { "source": "robot_rpi5", "target": "robot_tof_sensor", "type": "power", "label": "5V Power", "sourcePin": "5V", "targetPin": "VIN", "voltage": "5V" }, { "source": "robot_rpi5", "target": "robot_tof_sensor", "type": "data", "label": "I2C", "sourcePin": "SDA", "targetPin": "SDA", "voltage": "3.3V" }, { "source": "robot_rpi5", "target": "robot_tof_sensor", "type": "data", "label": "I2C", "sourcePin": "SCL", "targetPin": "SCL", "voltage": "3.3V" }, { "source": "robot_watchdog", "target": "robot_rpi5", "type": "data", "label": "Reset Signal", "sourcePin": "RESET", "targetPin": "RUN", "voltage": "3.3V" }, { "source": "robot_rpi5", "target": "robot_logging_storage", "type": "power", "label": "5V Power", "sourcePin": "5V", "targetPin": "VCC", "voltage": "5V" }, { "source": "robot_rpi5", "target": "robot_logging_storage", "type": "data", "label": "SPI", "sourcePin": "MOSI", "targetPin": "MOSI", "voltage": "3.3V" }, { "source": "robot_rpi5", "target": "robot_logging_storage", "type": "data", "label": "SPI", "sourcePin": "MISO", "targetPin": "MISO", "voltage": "3.3V" }, { "source": "robot_rpi5", "target": "robot_logging_storage", "type": "data", "label": "SPI", "sourcePin": "SCLK", "targetPin": "SCK", "voltage": "3.3V" }, { "source": "robot_rpi5", "target": "robot_logging_storage", "type": "data", "label": "SPI", "sourcePin": "CE0", "targetPin": "CS", "voltage": "3.3V" }, { "source": "robot_rpi5", "target": "robot_esp32", "type": "data", "label": "Hardware Time Sync Pulse", "protocol": "GPIO", "sourcePin": "GPIO_Sync_Out", "targetPin": "GPIO_Sync_In" }, { "source": "robot_battery_3s_lipo", "target": "robot_estop_button", "type": "power", "label": "Battery Power In", "sourcePin": "V+", "targetPin": "NC_IN", "voltage": "11.1V" }, { "source": "robot_motor_power_regulator", "target": "robot_motor_driver_high_power", "type": "power", "label": "Motor Driver Power", "sourcePin": "VOUT", "targetPin": "VIN", "voltage": "12V" }, { "source": "robot_esp32", "target": "robot_motor_driver_high_power", "type": "data", "label": "Motor Control", "protocol": "PWM" }, { "source": "robot_esp32", "target": "robot_lora_radio_900mhz", "type": "data", "label": "LoRa SPI", "protocol": "SPI" }, { "source": "robot_ubec_power_converter_high_capacity", "target": "robot_rpi5", "type": "power", "label": "RPi 5V Power", "voltage": "5V" }, { "source": "robot_motor_driver_high_power", "target": "robot_left_motor_high_torque", "type": "power", "label": "Left Motor Power" }, { "source": "robot_motor_driver_high_power", "target": "robot_right_motor_high_torque", "type": "power", "label": "Right Motor Power" }, { "source": "robot_watchdog", "target": "robot_motor_driver_high_power", "type": "data", "label": "Watchdog Motor Disable", "sourcePin": "DRV/DONE", "targetPin": "ENABLE" }, { "source": "robot_ubec_power_converter_high_capacity", "target": "robot_esp32", "type": "power", "voltage": "5V" }, { "source": "robot_rpi5", "target": "robot_lora_radio_900mhz", "type": "power", "voltage": "3.3V" }, { "source": "robot_rpi5", "target": "robot_watchdog", "type": "power", "voltage": "3.3V" }, { "source": "robot_rpi5", "target": "robot_lora_radio_900mhz", "type": "data", "protocol": "SPI", "sourcePin": "MOSI", "targetPin": "MOSI" }, { "source": "robot_rpi5", "target": "robot_lora_radio_900mhz", "type": "data", "protocol": "SPI", "sourcePin": "MISO", "targetPin": "MISO" }, { "source": "robot_rpi5", "target": "robot_lora_radio_900mhz", "type": "data", "protocol": "SPI", "sourcePin": "SCLK", "targetPin": "SCK" }, { "source": "robot_rpi5", "target": "robot_lora_radio_900mhz", "type": "data", "protocol": "SPI", "sourcePin": "CS", "targetPin": "CS" }, { "source": "robot_rpi5", "target": "robot_lora_radio_900mhz", "type": "data", "protocol": "GPIO", "sourcePin": "GPIO", "targetPin": "CE" }, { "source": "robot_rpi5", "target": "robot_lora_radio_900mhz", "type": "data", "protocol": "GPIO", "sourcePin": "GPIO", "targetPin": "IRQ" }, { "source": "robot_estop_button", "target": "robot_motor_power_regulator", "type": "power", "label": "E-Stop to Motor Regulator", "sourcePin": "NC_OUT", "targetPin": "VIN", "voltage": "11.1V" }, { "source": "robot_battery_3s_lipo", "target": "robot_ubec_power_converter_high_capacity", "type": "power", "label": "Battery to UBEC", "sourcePin": "V+", "targetPin": "VIN+", "voltage": "11.1V" }, { "source": "robot_esp32", "target": "robot_wheel_encoder", "type": "power", "label": "Encoder Power", "sourcePin": "3.3V", "targetPin": "VCC", "voltage": "3.3V" }, { "source": "robot_esp32", "target": "robot_watchdog", "type": "data", "label": "Watchdog Heartbeat", "sourcePin": "GPIO", "targetPin": "WDI" }, { "source": "robot_rpi5", "target": "robot_secure_element", "type": "data", "protocol": "I2C", "sourcePin": "SDA", "targetPin": "SDA" }, { "source": "robot_rpi5", "target": "robot_secure_element", "type": "data", "protocol": "I2C", "sourcePin": "SCL", "targetPin": "SCL" }, { "source": "robot_rpi5", "target": "robot_secure_element", "type": "power", "voltage": "3.3V" }, { "source": "robot_ubec_power_converter_high_capacity", "target": "robot_imu_upgrade", "type": "power", "voltage": "5V" }, { "source": "robot_ubec_power_converter_high_capacity", "target": "robot_camera_upgrade", "type": "power", "voltage": "5V" }, { "source": "robot_rpi5", "target": "robot_imu_upgrade", "type": "data", "label": "I2C SDA", "protocol": "I2C", "sourcePin": "SDA", "targetPin": "SDA" }, { "source": "robot_rpi5", "target": "robot_imu_upgrade", "type": "data", "label": "I2C SCL", "protocol": "I2C", "sourcePin": "SCL", "targetPin": "SCL" }, { "source": "robot_rpi5", "target": "robot_camera_upgrade", "type": "data", "label": "Video Data", "protocol": "CSI", "sourcePin": "CSI Port", "targetPin": "CSI Port" }, { "source": "robot_battery_3s_lipo", "target": "robot_estop_button", "type": "power", "label": "Motor Power In", "sourcePin": "V+", "targetPin": "NC_IN", "voltage": "11.1V" }, { "source": "robot_estop_button", "target": "robot_motor_power_regulator", "type": "power", "label": "Motor Power Switched", "sourcePin": "NC_OUT", "targetPin": "VIN", "voltage": "11.1V" }, { "source": "robot_motor_power_regulator", "target": "robot_motor_driver_high_power", "type": "power", "label": "Regulated Motor Power", "sourcePin": "VOUT", "targetPin": "VIN", "voltage": "12V" }, { "source": "robot_motor_driver_high_power", "target": "robot_left_motor_high_torque", "type": "power", "label": "Left Motor Power" }, { "source": "robot_motor_driver_high_power", "target": "robot_right_motor_high_torque", "type": "power", "label": "Right Motor Power" }, { "source": "robot_battery_3s_lipo", "target": "robot_ubec_power_converter_high_capacity", "type": "power", "label": "System Power In", "sourcePin": "V+", "targetPin": "VIN+", "voltage": "11.1V" }, { "source": "robot_ubec_power_converter_high_capacity", "target": "robot_rpi5", "type": "power", "label": "RPi 5V Power", "sourcePin": "5V OUT", "targetPin": "5V", "voltage": "5V" }, { "source": "robot_ubec_power_converter_high_capacity", "target": "robot_esp32", "type": "power", "label": "ESP32 5V Power", "sourcePin": "5V OUT", "targetPin": "5V", "voltage": "5V" }, { "source": "robot_ubec_power_converter_high_capacity", "target": "robot_imu_upgrade", "type": "power", "label": "IMU 5V Power", "sourcePin": "5V OUT", "targetPin": "VIN", "voltage": "5V" }, { "source": "robot_ubec_power_converter_high_capacity", "target": "robot_camera_upgrade", "type": "power", "label": "Camera 5V Power", "sourcePin": "5V OUT", "targetPin": "5V", "voltage": "5V" }, { "source": "robot_rpi5", "target": "robot_tof_sensor", "type": "power", "label": "ToF 5V Power", "sourcePin": "5V", "targetPin": "VIN", "voltage": "5V" }, { "source": "robot_rpi5", "target": "robot_logging_storage", "type": "power", "label": "Logger 5V Power", "sourcePin": "5V", "targetPin": "VCC", "voltage": "5V" }, { "source": "robot_rpi5", "target": "robot_lora_radio_900mhz", "type": "power", "label": "LoRa 3.3V Power", "sourcePin": "3.3V", "targetPin": "VIN", "voltage": "3.3V" }, { "source": "robot_rpi5", "target": "robot_watchdog", "type": "power", "label": "Watchdog 3.3V Power", "sourcePin": "3.3V", "targetPin": "VIN", "voltage": "3.3V" }, { "source": "robot_rpi5", "target": "robot_secure_element", "type": "power", "label": "Secure Element 3.3V Power", "sourcePin": "3.3V", "targetPin": "VCC", "voltage": "3.3V" }, { "source": "robot_esp32", "target": "robot_wheel_encoder", "type": "power", "label": "Encoder 3.3V Power", "sourcePin": "3.3V", "targetPin": "VCC", "voltage": "3.3V" }, { "source": "robot_rpi5", "target": "robot_esp32", "type": "data", "label": "Command Packets", "protocol": "UART" }, { "source": "robot_rpi5", "target": "robot_esp32", "type": "data", "label": "Time Sync", "sourcePin": "GPIO_Sync", "targetPin": "GPIO_Sync_In" }, { "source": "robot_rpi5", "target": "robot_lidar", "type": "data", "label": "LiDAR Data", "protocol": "USB" }, { "source": "robot_rpi5", "target": "robot_tof_sensor", "type": "data", "label": "ToF Data", "protocol": "I2C", "sourcePin": "SDA/SCL", "targetPin": "SDA/SCL" }, { "source": "robot_rpi5", "target": "robot_imu_upgrade", "type": "data", "label": "IMU Data", "protocol": "I2C", "sourcePin": "SDA/SCL", "targetPin": "SDA/SCL" }, { "source": "robot_rpi5", "target": "robot_secure_element", "type": "data", "label": "Secure Element Data", "protocol": "I2C", "sourcePin": "SDA/SCL", "targetPin": "SDA/SCL" }, { "source": "robot_rpi5", "target": "robot_camera_upgrade", "type": "data", "label": "Camera Data", "protocol": "CSI" }, { "source": "robot_rpi5", "target": "robot_logging_storage", "type": "data", "label": "Logging Data", "protocol": "SPI", "sourcePin": "MOSI, MISO, SCK, CS" }, { "source": "robot_rpi5", "target": "robot_lora_radio_900mhz", "type": "data", "label": "LoRa Data", "protocol": "SPI", "sourcePin": "MOSI, MISO, SCK, CS" }, { "source": "robot_rpi5", "target": "robot_lora_radio_900mhz", "type": "data", "label": "LoRa Control", "sourcePin": "GPIO", "targetPin": "CE, IRQ" }, { "source": "robot_esp32", "target": "robot_imu_upgrade", "type": "data", "label": "IMU Secondary Access", "protocol": "I2C" }, { "source": "robot_esp32", "target": "robot_camera_upgrade", "type": "data", "label": "Camera Secondary Access", "protocol": "DVP" }, { "source": "robot_esp32", "target": "robot_wheel_encoder", "type": "data", "label": "Encoder Pulses", "sourcePin": "GPIO" }, { "source": "robot_esp32", "target": "robot_motor_driver_high_power", "type": "data", "label": "Motor Speed/Direction", "protocol": "PWM" }, { "source": "robot_esp32", "target": "robot_lora_radio_900mhz", "type": "data", "label": "LoRa Secondary Access", "protocol": "SPI" }, { "source": "robot_esp32", "target": "robot_watchdog", "type": "data", "label": "Watchdog Heartbeat", "sourcePin": "GPIO", "targetPin": "WDI" }, { "source": "robot_watchdog", "target": "robot_motor_driver_high_power", "type": "data", "label": "Motor Driver Enable", "sourcePin": "DRV/DONE", "targetPin": "ENABLE" }, { "source": "robot_watchdog", "target": "robot_rpi5", "type": "data", "label": "System Reset", "sourcePin": "RESET", "targetPin": "RUN" } ], "mechanicalConnections": [], "projectDescription": "The \"Authority-Governed Assured Autonomy Rover Testbed\" project develops an autonomous rover designed for contested environments, featuring hierarchical authority control (HMAA), sensor spoofing resilience, and programmable authority degradation. Key subsystems include a robust power delivery network, dual-MCU compute for redundancy and control, comprehensive sensing for navigation and threat detection, and secure communication/authentication modules.", "originalPrompt": "Authority-Governed Autonomous Systems Testbed (Best Fit)\n4\nConcept\n\nBuild a physical testbed where autonomous robots operate under HMAA authority control.\n\nInstead of normal autonomy, every decision must pass through your authority and trust layers.\n\nArchitecture\nSensors\n ↓\nSATA trust evaluation\n ↓\nHMAA authority engine\n ↓\nMission autonomy planner\n ↓\nCARA recovery logic\n ↓\nRobot / drone actuation\nWhat it demonstrates\n\nsensor spoofing resilience\n\nautonomy authority degradation\n\nsafe recovery after failures\n\nmission control under uncertainty\n\nWhy NASA / DoD care\n\nAutonomous systems today lack formal authority governance.\n\nYour platform would show:\n\n“Autonomy that can be trusted in contested environments.”", "plan": "- Microcontroller: ESP32 or Raspberry Pi for HMAA authority engine and mission autonomy planner, Arduino for sensor/actuator control.", "notes": [ "Autonomous robots", "HMAA authority control", "Contested environments", "Sensor spoofing resilience", "Autonomy authority degradation" ], "projectId": "de469722-b0cf-4814-b44a-76dbf8706b36" }