NHURO Research Sandbox
University of Aizu | Advanced Computer Systems Lab | AY2026 Graduation Thesis Framework
Students must adhere to this architecture. New nodes and interfaces should be integrated into the specified directories to ensure system compatibility.
nhuro_project/
βββ voice_bridge.py <-- (T1) Sensory Gateway (System Python)
βββ nhuro_ws/ <-- ROS 2 Workspace (Mamba Env)
βββ src/
βββ nhuro_interfaces/ <-- ADD NEW .msg / .action FILES HERE
β βββ action/ Wave.action, Walk.action
β βββ msg/
βββ nhuro_driver/ <-- ADD NEW RESEARCH NODES HERE
βββ nhuro_driver/
βββ voice_parser_node.py <-- (T2) The Brain
βββ nhuro_action_node.py <-- (T3) The Muscles
βββ nhuro/ <-- Hardware Library
βββ robot.py
βββ bus_servo.py
Detailed setup instructions are available in Module 0: Nexus Initialization.
- Sensors: Raspberry Pi Camera Module, USB Microphones, MPU6050 IMU.
- Actuators: Bus-Servos (ttyAMA0), Motorized Active Grasper (Replacement Kit).
- Software Environment: ROS 2 Humble, PyTorch, YOLOv8-tiny, Librosa.
Task 1 (NHURO-Vision): Edge-AI Based Real-Time Object Recognition
This project addresses the limitation of hard-coded environmental sensing. Students must enable NHURO to identify and track dynamic objects in real-time using limited onboard compute.
nhuro_interfaces/msg/Detection.msg: Define custom data types for object labels and bounding boxes.nhuro_driver/vision_node.py: Implement a node that wraps the YOLOv8-tiny inference engine.- Design Hint: Optimize the model for the Raspberry Pi and bridge output to the
nhuro_voice_texttopic.
Task 2 (NHURO-Nav): 3D Spatial Awareness & Autonomous Pathfinding
Building on Task 1, students must transition from 2D semantic detection to 3D spatial reasoning to enable NHURO to map its environment and navigate toward targets while avoiding obstacles.
nhuro_driver/depth_node.py: Implement monocular depth estimation to transform 2D pixel data into 3D coordinates.nhuro_driver/costmap_node.py: Project YOLO detection coordinates into anav2_costmap_2dgrid to define navigation zones.- Design Hint: Calculate the 3D centroid of detected objects to trigger locomotion goals rather than pre-programmed movement.
NHURO-Dance: Development of a Rhythmic Motion Synchronization Framework for Multimodal Humanoid Interaction
Problem DescriptionThe challenge is to align high-latency ROS 2 action execution with low-latency audio beats to create fluid, rhythmic entertainment routines.
nhuro_driver/choreography_node.py: Create an Action Client that sequences multiple goals (Wave, Walk, Bow).nhuro_driver/audio_analyzer.py: Implement real-time beat detection usinglibrosa.- Design Hint: Adjust action
step_durationparameters dynamically based on detected BPM.
NHURO-Care: Integration and Force-Limited Control of an Active Bionic Grasper for Assistive Humanoid Tasks
Problem DescriptionThis project focuses on the integration of a motorized active grasper to allow for physical interaction with light objects like medicine bottles.
nhuro_interfaces/action/Grasp.action: Define the goal (open/close) and feedback (pressure/torque).nhuro_driver/nhuro/robot.py: Update the hardware library with amove_grasper()method.- Design Hint: Physically swap the static hand for the motorized replacement kit and map the new Servo ID.
NHURO-Brain: Design of an Artificial Neural Network Controller for Dynamic Gait Optimization in Bipedal Humanoids
Problem DescriptionHard-coded patterns are unstable on uneven terrain. The student must develop a neural controller that adjusts the gait dynamically based on IMU feedback.
nhuro_driver/imu_listener_node.py: Collect orientation data ($pitch$, $roll$) from the MPU6050.nhuro_driver/neural_gait_node.py: Run a trained ANN to predict optimal servo angle offsets.- Design Hint: Train the model using PyTorch and deploy for real-time inference on the Pi.
NHURO-Interface: Development of a Low-Latency Web Dashboard and Digital Twin for Remote Humanoid Telemetry
Problem DescriptionStudents must build a low-latency web dashboard to visualize “internal thoughts” (voice logs) and “physical state” (step count).
~/nhuro_project/dashboard/app.js: Implement a WebSocket client usingroslibjs.~/nhuro_project/dashboard/index.html: Design a visual UI to show step counts and voice logs.- Design Hint: Use the
rosbridge_suiteto communicate between the browser and the ROS workspace.
NHURO-Safe: Autonomous Fall Detection and Recovery Strategies for Humanoid Robots via Inertial Sensory Feedback
Problem DescriptionBipedal robots are prone to falling. The student must detect falls and execute autonomous “Stand-Up” sequences via IMU monitoring.
nhuro_driver/fall_manager_node.py: Monitor pitch/roll thresholds to detect balance loss.nhuro_interfaces/action/StandUp.action: Define the multi-phase stand-up sequence.- Design Hint: Develop high-torque servo patterns to safely return the robot to a neutral pose.
NHURO-LLM: LLM-Guided Autonomy for Neuromorphic Humanoid Robotics via Semantic Task Mapping
Problem DescriptionThis project explores the integration of Large Language Models (LLMs) to bridge the gap between high-level natural language instructions and low-level, event-driven motor control. Students must develop a semantic translation layer that parses human intent into structured ROS 2 action goals.
nhuro_driver/llm_bridge_node.py: Implement a node that interprets natural language, performs task decomposition, and publishes to action servers.nhuro_interfaces/action/TaskExecution.action: Define an interface to handle complex task sequences (e.g., “Find the cup, then grasp it”).- Design Hint: Use structured output (JSON) from an LLM API and implement a state machine that validates safety parameters (e.g.,
pressure_limit) before dispatching commands.
