Application: Mobile Robots
Introduction
Mobile real-time mechatronic systems are generally geographically distributed and data driven requiring extravagant communication networks and a powerful high data density central server for data analysis and processing. Large volume data flows congest communication networks causing data loss or delay that can lead to fatal implications. Reducing the communication and computational server requirements while allowing for mobility through off-the-shelf wireless communication networks would increases productivity and reduce expenditure. Use of mobile agent-based computing would reduce data congestion and overall computational requirements by retrieving data and having partial data analysis be implemented at the nodes instead of a central server. In order to deal with deterministic timing needs, the mobile agent-based system is required to operate in real-time. This research explores the fundamental issues of real-time autonomous mobile agent-based systems for the collection and analysis of timely, accurate and reliable real-time information and the control of real-time mechatronic systems. Having real-time mobile agents allows for the fulfillment of todays open architecture system independent requirements and is the foundation of a new programming paradigm in data mining and management for mobile real-time systems.
Required Packages for Executing Example Code:
Before executing the example code listed below, the Ch Korebot must first be installed on the Khepera robot.
Example: Real-Time Mobile Robot Control with Mobile Agents
Case 1 description
In this experiment, two mobile agents are used to control the Khepera III mobile robot. The first mobile agent carries an agent code implementing a commonly used obstacle avoidance algorithm, the Braitenberg algorithm. The second mobile agent carries mobile agent code that terminates the first mobile agent and executes the Braitenberg algorithm with modified parameters, increasing sensor sensitivity and base robot velocity.
Video
Agent and Code
Case 2 description
The service that leads to this obstacle avoidance behaviour is represented and provided by function 'RobotBehaviour()'. The implementation of this function is based on Braitenberg obstacle avoidance algorithm. While the mobile robot is performing obstacle avoidance bahaviour, agent 'service_provider_2' carrying another 'RobotBehaviour' service is sent to the robot. The intention of sending this agent is to change the robot behaviour on the fly. Therefore, agent 'service_provider_2' deregisters 'RobotBehaviour' service provided by agent 'service_provider_1' and registers its own 'RobotBehaviour' service with the DF. The second 'RobotBehaviour' service will cause the robot to follow a sensored obstacle and stop when a certain motor speed is reached. This obstacle following behaviour is implemented by modifying Braitenberg obstacle avoidance algorithm.
Video
Agent and Code
|
Integration Engineering Laboratory | UCD MTU Sandia |