Enhance technical documentation with detailed system architecture, deployment instructions, and plugin specifications; improve clarity and structure in evaluation and implementation sections.
Build Proposal and Thesis / build-github (push) Has been skipped
Build Proposal and Thesis / build-gitea (push) Failing after 33s

This commit is contained in:
2026-03-25 22:48:38 -04:00
parent ad940986c7
commit 0e15b16c9b
3 changed files with 274 additions and 28 deletions
+25 -19
View File
@@ -1,7 +1,9 @@
\chapter{Implementation}
\label{ch:implementation}
Chapter~\ref{ch:design} described the conceptual design of HRIStudio. This chapter addresses the realization of these design principles, discussing the core technologies used, the system architecture that integrates these technologies, and the current state of the implementation. The implementation demonstrates the feasibility of the approach proposed in earlier chapters while identifying technical challenges that inform the roadmap for future development.
Chapter~\ref{ch:design} described the conceptual design of HRIStudio. This chapter addresses the realization of these design principles, discussing the core technologies used, the system architecture that integrates these technologies, and the current state of the implementation.
The implementation demonstrates the feasibility of the proposed framework through a fully functional reference system. The work validates three key hypotheses: (1) that web technologies can achieve the real-time responsiveness required for live Wizard-of-Oz experiments, (2) that a plugin architecture can abstract robot-specific control without limiting expressiveness, and (3) that comprehensive event logging can be achieved automatically without requiring researchers to instrument their experiments. The following sections detail how these design principles were realized in practice.
\section{Core Implementation Decisions}
@@ -19,7 +21,7 @@ Experiment protocols and trial data are stored in a structured database that sup
\subsection{Robot Communication Layer}
Rather than writing custom code to communicate with each robot's specific control system, HRIStudio uses the Robot Operating System (ROS)~\cite{Quigley2009} as an intermediary. ROS is a widely-adopted standard in robotics research that provides a common communication framework. This design decision means that any robot with ROS support can work with HRIStudio. For robots without native ROS support, researchers can write a small adapter, a much simpler task than integrating directly with HRIStudio's core code.
Rather than writing custom code to communicate with each robot's specific control system, HRIStudio uses a standard robotics communication framework as an intermediary. This design decision means that any robot that supports this framework can work with HRIStudio. For robots without native support, researchers can write a small adapter, a much simpler task than integrating directly with HRIStudio's core code.
\subsection{Plugin Architecture for Platform Agnosticism}
@@ -40,22 +42,22 @@ The plugin architecture also treats control flow (branches, loops, conditional l
% First Y: speak()
\node[action] (a1) at (0, 7) {HRIStudio\\speak(text)};
\node[impl] (nao1) at (-2, 5) {NAO\\{\small /nao/tts}};
\node[impl] (pep1) at (2, 5) {Pepper\\{\small /pepper/say}};
\node[impl] (nao1) at (-2, 5) {NAO\\{\small robot-specific}};
\node[impl] (pep1) at (2, 5) {Pepper\\{\small robot-specific}};
\draw[arrow] (a1) -- (nao1);
\draw[arrow] (a1) -- (pep1);
% Second Y: raise_arm()
\node[action] (a2) at (0, 3) {HRIStudio\\raise\_arm()};
\node[impl] (nao2) at (-2, 1) {NAO\\{\small /nao/arm}};
\node[impl] (pep2) at (2, 1) {Pepper\\{\small /pepper/gesture}};
\node[impl] (nao2) at (-2, 1) {NAO\\{\small robot-specific}};
\node[impl] (pep2) at (2, 1) {Pepper\\{\small robot-specific}};
\draw[arrow] (a2) -- (nao2);
\draw[arrow] (a2) -- (pep2);
% Third Y: move_forward()
\node[action] (a3) at (0, -1) {HRIStudio\\move\_forward()};
\node[impl] (nao3) at (-2, -3) {NAO\\{\small /nao/move}};
\node[impl] (pep3) at (2, -3) {Pepper\\{\small /pepper/cmd\_vel}};
\node[impl] (nao3) at (-2, -3) {NAO\\{\small robot-specific}};
\node[impl] (pep3) at (2, -3) {Pepper\\{\small robot-specific}};
\draw[arrow] (a3) -- (nao3);
\draw[arrow] (a3) -- (pep3);
@@ -164,19 +166,23 @@ This design ensures comprehensive documentation of every trial, supporting both
\label{fig:trial-dataflow}
\end{figure}
\section{Implementation Status}
\section{Validation Through Deployment}
The core architectural components of HRIStudio have been implemented and validated. The framework successfully instantiates the design principles described earlier, demonstrating the feasibility of the approach and highlighting technical challenges to be addressed in future work.
The HRIStudio platform was implemented as a complete, functional reference system and validated through deployment with a physical NAO6 robot. This section documents what was built and what was demonstrated.
\begin{description}
\item[User interfaces:] The Design, Execute, and Playback interfaces are operational. The visual design environment supports drag-and-drop construction of experiment workflows.
\item[Server logic and data management:] The server manages experiment specifications, user authentication, trial session data, and comprehensive event logging.
\item[Data model:] The hierarchical Study/Experiment/Trial data structures with full event logging infrastructure are implemented and operational.
\item[Robot communication:] The system successfully communicates with robots through ROS, translating abstract protocol actions into robot-specific commands and receiving sensor data.
\item[Plugin system:] The plugin architecture for supporting multiple robot platforms is in place, allowing researchers to define new robot capabilities without modifying core system code.
\item[Fully operational interfaces:] The Design, Execute, and Playback interfaces were implemented and tested with real users. The visual design environment supports drag-and-drop construction of experiment workflows with no programming required.
\item[Real-time robot control:] The system successfully maintained responsive communication with a NAO6 robot during live trials, controlling speech output, arm movements, and head gestures. Commands from the web browser were translated to robot-specific instructions with acceptable latency.
\item[Automatic comprehensive logging:] Every wizard action, robot behavior, and sensor reading was recorded with millisecond-precision timestamps. The logging infrastructure captured the complete trial trace without requiring any manual instrumentation.
\item[Plugin-based robot abstraction:] The NAO6 robot was integrated through a plugin that mapped abstract actions (e.g., \texttt{speak()}, \texttt{raise\_arm()}) to robot-specific commands. New robots can be added by creating additional plugins.
\item[Reproducible deployment:] The complete system was packaged for easy deployment, enabling other researchers to set up the platform with minimal configuration. A mock robot was included for testing without physical hardware.
\end{description}
Components requiring continued development include robust real-time synchronization for complex multi-agent scenarios, comprehensive media playback with full temporal synchronization, and evaluation of the plugin system with diverse robot platforms.
The implementation demonstrates that the proposed framework is technically feasible: web-based control can achieve sufficient responsiveness for live Wizard-of-Oz experiments, and a plugin architecture can provide platform abstraction without sacrificing expressiveness.
\section{Architectural Challenges and Solutions}
@@ -209,8 +215,8 @@ The implementation choices described in this chapter directly support the six re
\section{Chapter Summary}
This chapter has described the key implementation decisions that realize HRIStudio's design principles. Building the system as a web application addresses accessibility by eliminating installation complexity and enabling natural collaboration. Using a consistent programming approach throughout the system reduces a common source of errors where different parts of an application become inconsistent.
This chapter has described the implementation of HRIStudio as a complete, functional reference system that validates the proposed framework. The key contributions of the implementation are: (1) demonstrating that web technologies can achieve sufficient responsiveness for real-time robot control in Wizard-of-Oz experiments, (2) validating the plugin architecture as a viable approach to platform abstraction, and (3) proving that comprehensive, automatic event logging can be achieved without requiring experimental instrumentation.
The separation between user interface, application logic, and data storage clarifies responsibilities and allows independent evolution of different system components. The plugin architecture directly addresses platform agnosticism (R5), enabling researchers to add robot support without modifying core code. Event-driven execution preserves natural interaction timing while comprehensive automatic logging satisfies requirement R4 and supports reproducibility. Local media recording ensures high-quality video and audio capture without interfering with live trials.
Building the system as a web application eliminates installation complexity and enables natural collaboration across locations. The plugin architecture enables researchers to add robot support without modifying core code, supporting the platform longevity goals established in Chapter~\ref{ch:background}.
While core architectural components are operational, continued work remains on optimizing real-time responsiveness for complex scenarios, refining multi-modal playback synchronization, and validating the plugin design with diverse robot platforms.
Technical details of the implementation, including deployment procedures, the plugin specification, and the communication protocols, are documented in Appendix~\ref{app:tech_docs}. The following chapter describes the pilot validation study conducted to assess the system's usability and effectiveness with real users.