In our Interactions group (https://ics.unisg.ch/chair-interactions-mayer/) at the University of St. Gallen, we study the concept of Multi-Agent Systems, systems constituted by autonomous entities called agents, able to communicate and cooperate with each other. We study how to apply this concept to the Web and the Web of Things in order to create autonomous systems constituted by software agents, autonomous robots and humans. We challenge you to develop autonomous software for robot control that leverages Web-based multi-agent systems and the W3C Web of Things standards to create a robot integration system that is globally scalable and interoperable.
1. Multi-Agent System for Autonomous Robots: Implement a multi-agent system (using the available resources) that enables effective communication and coordination between multiple robots. Each agent should represent a robot and possess autonomous decision-making capabilities.
2. Web Integration for Global Scalability: Now, you have your Web-based multi-agent system! But the ultimate test of your system lies in its ability to actually operate on a Web scale. As the system grows, agents can use more and more devices and services to perform more tasks in parallel and achieve more efficiently manufacturing goals, but the process of discovering and interpreting the right or useful signifiers may become more time- and resource consuming. Show that your system manages to operate even on a very large scale, e.g. in the presence of many thousands of robots and agents in a simulation. Think of ways in which your recommendation system (or additional components that you developed) can be used to optimize time and resource consumption. Take advantage of the distributed architecture of your system to distribute the workload of signifier recommendation as the number of signifiers and agents fluctuates.
3. Web Personalization for Artificial Agents: Especially as more and more devices and services become available, can you find a way to create a recommendation system that assists agents in finding artifact profiles and signifiers. That is, the system should suggest to an autonomous agent what it believes might be a beneficial device or service for it to use! Agents should be able to publish in their profiles information (e.g., about their manufacturing goals or current context) that may be used by the recommendation system for evaluating which signifiers are relevant to them. Additionally, the recommendation system may observe the context of artifacts whose profiles are published in the hypermedia environment (e.g. by polling their state), to enable the more contextualized exposure of signifiers. Evaluate how resource consumption is allocated among agents and the recommendation system. This personalization should also be able to happen on a large scale (Key Idea 2).
4. Interoperability through the Semantic Web: Ideally, your agents would be able to discover and interpret Web API documentation of artifacts (e.g. of services and devices). Write and publish signifiers in artifact profiles (e.g., for different of your real or simulated robots) that describe the functionality of individual devices and services on the Semantic Web. Such profiles could be considered as machine-readable Web APIs, where a signifier describes a single interaction with the API (e.g., to close the gripper of a robotic arm). In designing these signifiers, incorporate semantic metadata that you deem valuable for agents to effectively discover and interpret useful interactions, such as the semantic types of advertised actions, the state in which an action is possible, quality-of-service (QoS) information, etc. The information provided by these signifiers can also be used to enable Web Personalization for Artificial Agents (Key Idea 3)
5. Artificial Intelligence Integration: Artificial Intelligence techniques such as machine learning and computer vision can be used by robotic agents in order to learn from their environment, improve their perception abilities, and make better decisions. Such Artificial Intelligence modules could be made available through REST APIs for Web-based agents. In that case, study how Interoperability through the Semantic Web (Key Idea 4) can contribute to solve this integration. Artificial Intelligence could also be used in order to improve the Web Personalization for Artificial Agents (Key Idea 3).
6. Collaboration and Resource Sharing: Design and evaluate a scenario in which different robots need to cooperate in real-time, and potentially use shared resources, to solve a problem. Evaluate whether this collaboration can happen on a large scale (Key Idea 2) and whether Web Personalization for Artificial Agents (Key Idea 3) can make collaboration and resource sharing easier.
1. Real-time Visualization: Implement visualization techniques to provide real-time feedback and visual representations of the robots’ actions, environment, and sensor data. If we consider that the humans controlling the system are another category of agents, this idea can be related to Web Personalization for Artificial Agents (Key Idea 3) by extending it to humans so that a human may discover, for example, which robots they need to monitor if they want to study whether a given objective can be fulfilled..
2. Remote Control Interface: Develop a user-friendly web-based interface that allows remote users to monitor and control robots in real-time. The solution should enable efficient and intuitive control of robots from a remote location, facilitating seamless interaction, coordination, and collaboration between humans and robots. This idea also extends Web Personalization for Artificial Agents (Key Idea 3) to humans.