Projects:2020s1-2330 An Agent-based System for Target Searching and Delivering

From Projects
Jump to: navigation, search

Project Students

Muyu Wu, Abrar Ali Chowdhury, Zach Vawser

Project Supervisors

Professor Peng Shi,  Professor Cheng-Chew Lim

Project Advisors

Xin Yuan, Yuan Sun, Yang Fei, Zhi Lian

Abstract

In this project, we will be using the concepts in artificial intelligence, control theory and signal processing to create a system in which a team of robots work together through a centralised system to search for, detect, and collect target objects from an unknown environment, then deliver those targets to a destination. The aim of this system will be to test the performance of a single agent system against that of a multi agent system.

Introduction

Autonomous systems are making their way into our world at a blistering pace due to their potential to make our lives easier. In their most successful applications to date, robots and automation have increased productivity, lowered production costs, and generated job opportunities in the tech sector. Some of the most famous examples of these systems include:

  • Driverless Cars,
  • Autonomous Vacuum Cleaners,
  • Assembly Line Robotic Arms

At the core of an autonomous system is the agent, something with the ability to perceive its environment and act upon it using effectors. There may be one or more of these in a system, hence single and multi-agent systems. The primary distinction between these types of systems is that multi-agent ones are dynamic, as agents must handle each other as well as the environment.

The following three concepts are critical to autonomous systems and heavily intertwined. First up is mapping, which is the action of an agent using its perceptions to develop a model of the environment it’s in. Localisation is where the agent uses a-priori knowledge of its environment, called a map, to determine where it is in that environment based on the landmarks it can see. With that brief introduction to agents, mapping and localisation, we now reach one of the most fundamental aspects of autonomous systems: doing both at the same time. This technique is called simultaneous localisation and mapping or SLAM, and is needed when an agent is in an environment it has no or very little a-priori knowledge of. This project also uses Computer Vision for detecting target objects and other rovers, which informs the path planning for the rovers and the arm.

Motivation

Our aim for this project is to compare single agent systems with multi-agent systems in terms of efficiency in completing identical search and delivery tasks. The system we are building is comprised of multiple robots that must cooperate in an unknown environment to find and retrieve objects of interest. There are two types of robots, a manipulator (which has a mounted robotic arm), and a carrier (which has a flat platform mounted on top of it). The manipulator uses its arm to pick up the target object when it is found and load it onto the carrier. The detection of a target triggers cooperation of this form by the robots. As the task is being carried out, a map of the environment is being created using the data from the robot’s sensors. The sensors being used are a laser range detector and a camera.

Method

The method using for this project is using MATLAB and V-rep co-simulating the real life environment.

Path Planning

The path planning method using in project is A star. A star path planning will considering the current cost to the next node and the total cost to the final destination. It will provide the optimal path for agent from current location to the destination.

A star search algorithm (A* SEARCH ALGORITHM - GEEKSFORGEEKS)

SLAM

Extended Kalman Filter(EKF) SLAM method is using in this project to predict the current position of the agent EKF SLAM basing on the environment features currently detected by sensor, using the maximum likelihood algorithm method to predict the agent current position

Control of 3DOF Omnidirectional Rover

The system uses a three wheel drive omnidirectional rover platform with three degrees of freedom (3DOF). The four basic control algorithms were compared in terms of position control to achieve a fast and accurate response for the system.

Fuzzy Controller

To improve the response of the rover further, a fuzzy controller is designed to restrict acceleration when the error is high and to speed up the response at lower error values. The error graphs for the x-direction, y-direction and the angular direction were analysed. The system was given a slow start since the error at the beginning is the largest. The velocity of the rover was analysed at various error levels. When the error values decreased, the fuzzy controller switches to a different amplifier value so that the system is sped up.

Camera

The target object is a red sphere. Therefore, to detect this object, image segmentation which removes all colours other than red is used in order to locate the blob which represents the target in the image. Once this blob is detected, it is labelled with a bounding box and a centroid which describe the region of the image containing the target. These labels contain the pixel locations of interest, which are used to orient the rover so it is facing the target, and also used to estimate the distance of the target object from the camera. Using the distance of the object from the camera obtained by computer vision, and the orientation and position of the rover in the global coordinate frame, the location of the target is transformed from the rover frame to the global frame via multiplication with a Homogenous Transform matrix. These coordinates are given to A* Path Planning and the robot arm for arrival and pickup of the target.

The rovers have a green body, and are similarly detected using this colour feature. When the rover body is obstructed by one of its wheels, the two blobs are merged and the centre of the rover is accurately estimated. Rovers use detection of each other to initialise their cartesian coordinate systems from a local frame to a global frame.

Results

Testing of Control Algorithms

The Kp and Kd values in this example were adjusted such that the response had the shortest rise time while avoiding steady state error and overshoot. The response with the overshoot was caused by both high KP and Kd values. The response with the slowest rise time was due to an extremely low Kd value. A balanced Kp and Kd value set reulted in the response with a quick rise time without causing overshoot.

PD Controller Tuning

Testing of Fuzzy Logic Controller

The dips in the following graph are caused by the switching of the fuzzy logic to different amplifier values, as error values decreased instead of a slow approach to the endpoint, the response was sped up with a higher amplifier value of the controller constants.

Fuzzy Logic Test

Map Generating

This is a map that was generated during a simulation run. Obstacles are accurately detecting using laser range sensors, and their positions in global coordinates are stored in the map as red dots.

environment features collected by sensor

Path Planning

The map provides agents with obstacle location information, which they can use to plan paths with an A* Search getting the destination by optimal path with collisions avoidance.

A_star planed path for rover to get to target from current location

SLAM

After environment features been collected, EKF_SLAM will predicting the rover location based on maximum likelihood algorithm method. The first image showing the rover ground truth location in the simulation environment The second image showing the EKF estimating location in the detected map.

Ground truth position in the simulation
EKF predicting position

Target Detection

One method of measuring distance of the target from the camera that was implemented was by using a RGB-D camera. Once a blob is detected, it is labelled with a centroid and a bounding box. The pixel location of the centroid is taken and used as an index for the depth map, which returns a distance value.

Targets are successfully detected based on their red colour, and its location in coordinates are generated accurately in the simulation.
A plot of the distance vs. Bounding Box height for detecting target objects.

Depth estimation using only one camera is achieved by identifying the target object, and then measuring the size of the bounding box when the target is at known distances from the camera. Then, this data is plotted and a trendline is fitted using a Power model to obtain an equation which describes pixels vs. distance. The R values are very close to 1, indicating the line is an appropriate fit.

Rovers use the camera to detect the location of other rovers in the environment. They are coloured green, which is the feature that is extracted to identify the rover.
A plot of the distance vs. Bounding Box height for rover detection.

References

[1] N. Correll, Introduction to autonomous robots, 1st ed. Boulder, Colorado: Magellan Scientific, p. 17. [2] Sariff, N. and Buniyamin, N., 2020. An Overview Of Autonomous Mobile Robot Path Planning Algorithms - IEEE Conference Publication. [online] Ieeexplore.ieee.org. Available at: <https://ieeexplore.ieee.org/abstract/document/4339335> [Accessed 15 April 2020]. [3] Anderson, J., Kalra, N., Stanley, K., Sorensen, P., Samaras, C., & Oluwatola, O. (2014). Brief History and Current State of Autonomous Vehicles. In Autonomous Vehicle Technology: A Guide for Policymakers (pp. 55-74). RAND Corporation. Retrieved April 23, 2020, from www.jstor.org/stable/10.7249/j.ctt5hhwgz.11 [4] "Single agent vs multi agent system in AI." Geekboots , Feb 12, 2019, . Retrieved April 23, 2020, From https://www.geekboots.com/story/single-agent-vs-multi-agent-system. [5] Parikshit H, “Comparison – Centralized, Decentralized and Distributed Systems” GeeksforGeeks, Retrieved April 23, 2020, From https://www.geeksforgeeks.org/comparison-centralized-decentralized-and-distributed-systems/ [6] Cadena, Cesar & Carlone, Luca & Carrillo, Henry & Latif, Yasir & Scaramuzza, Davide & Neira, Jose & Reid, Ian & Leonard, John. (2016). Simultaneous Localization And Mapping: Present, Future, and the Robust-Perception Age. IEEE Transactions on Robotics. 32. 10.1109/TRO.2016.2624754. [7] J. Bobrow, S. Dubowsky and J. Gibson, "Time-Optimal Control of Robotic Manipulators Along Specified Paths", The International Journal of Robotics Research, vol. 4, no. 3, pp. 3-17, 1985. Available: 10.1177/027836498500400301. [8] W. Miller, F. Glanz and L. Kraft, "Application of a General Learning Algorithm to the Control of Robotic Manipulators", The International Journal of Robotics Research, vol. 6, no. 2, pp. 84-98, 1987. Available: 10.1177/027836498700600207. [9] F. Ribeiro, I. Moutinho, P. Silva, C. Fraga and N. Pereira, "Three omni-directional wheels control on a mobile robot," Control 2004,University of Bath, UK, Sept. 2004. [10] W. Li, C. Yang, Y. Jiang, X. Liu and C. Su, "Motion Planning for Omnidirectional Wheeled Mobile Robot by Potential Field Method", Journal of Advanced Transportation, vol. 2017, pp. 1-11, 2017. Available: 10.1155/2017/4961383. [11] "A* Search Algorithm - GeeksforGeeks", GeeksforGeeks, 2020. [Online]. Available: https://www.geeksforgeeks.org/a-search-algorithm/. [Accessed: 19- Oct- 2020].