Projects:2021s2-63311 Robots playing capture the flag

From Projects
Revision as of 21:36, 7 June 2022 by A1762790 (talk | contribs) (Abstract)
Jump to: navigation, search

Abstract

Robotics application is getting more popular in recent years. Most robotic system are known for their excellence in handling tasks that require a high level of responsiveness, repetition, and accurate execution. However, the more complicated task, the more inclination for robots to suffer functionally, especially with tasks that involves critical planning and making strategies in advance. To research such tactical tasks, the game capturing the flag is chosen. Capturing the flag is a team-based game that requires the player to capture their opponent’s flag while protecting their own. The team with better strategy and formation will be more likely to achieve victory. With that in mind, this project aims to simulate the game CTF in a software environment to study the ways in which complex and strategic behaviours can be implemented into robots using Python programming.

Introduction

Motivation

Today, the automation industry is growing rapidly, and robots are becoming more popular. With the development of the robotic industry, the programing algorithm quality becomes crucial in many complex and difficult tasks. With the movement of technology, it is indispensable to carry out more researches about machine learning and strategic decision making so that they can achieve difficult tasks.

Moreover, deep learning machines, or Artificial Intelligence (AI) has been developing rapidly and proven it's reputation in self-learning ability. For instance, the AI machine AlphaGo, developed by Google DeepMind Challenge Match has claimed predominant number of victories (4/5 wins) against 18th time world champion Lee Sedol in Go Chess. It is desired for the researches in the future leads to the development in intelligent machines, which will aid in human's difficult task in the future.

Capture the flag

With that in mind, this research will dig deep into the realm of machine learning. To make the study more specific, the game capture the flag is chosen, which acts as the sets of rules of the game. In order to win the game, the players (robots included) have to successfully cature opposing team's flag, while protecting the team's flag.

Background and relevant work

This game challenges the need to build a smart algorithm. In this case, it’s the tactical planning and execution for robots to play capture the flag. The goal is to integration these algorithms into physical robots that play capture the flag, but also where they can be used in a variety of other/different applications. The essence of this project is the strategic algorithm, which will determine how the robots act according to real-time events.


Project aim and methods

Project aims

Research

• Developing algorithms for robots to play the game • Integration into physical robots

Programing

• Learn a new programing language: Python • Develop environment for simulation • Setup joysticks as human input to test algorithm • Develop offensive strategy • Develop defensive strategy • Team based all defend or all offense or mixed strategy

Integration

• Apply the program into physical robots • This step is optional, depending on the success in early algorithm development

Finalising

• Polishing and complete project deliverables

Methods

.

Simulation

An environment was generated for testing. Python is the programming language being used with a program called PyCharm is used to help with editing/debugging and testing python codes. The python library being used is called 'pygame' which is a really advantageous library that allows creation of simple and complex games/programs, where handling graphics, player inputs and collisions is made easy. A code has been written to connect a wireless controller (joystick) is python which eases gameplay. Now with the simulation environment being set up, the team can focus on testing different algorithms to evaluate them.

Integrating into physical robots

.

Results

Results of simulation carried out by 20th September 2021: Firstly games such as space invader, space shooter and pong were created so that the project team can be familiar with the simulation environment (python, pycharm & pygame). Then the game pong was used as a platform to create a player vs computer capture the flag game, where the player has to get past robots moving up and down in order to capture the flag. Next, for the ease of gameplay, a code was added to connect a controller to python, and a simple game of moving a box around the screen was created to show the success of this code. This code was then extended to a player vs robot capture the flag game, where the player is controlling a defender, while the robot has an algorithm which calculates and moves in the most direct path to the flag (flag appears randomly in the map on the defenders side).

Conclusion and Future work

Conclusion

. .

Future work

. .

References

NGUYEN, DUONG D., et al. "Dynamic Multi-Target Assignment with Decentralised Online Learning to Achieve Multiple Synchronised Goals." 2020 International Conference on Machine Learning and Cybernetics (ICMLC). IEEE, 2020.

Simpson, T., Hull, R., Dadgar, A., Rajagopalan, A., Kim, J.,&Chen, L. (2019). On-board/off-board smooth trajectory control for quadcopters through multi-loop PID tuning. Australasian Conference on Robotics and Automation, ACRA, 2019-December, [159894]. 

https://ssl.linklings.net/conferences/acra/acra2019_proceedings/views/includes/files/pap148s1-file1.pdf

Hongjun Yu, Peng Shi, Cheng-Chew Lim, Dongzhe Wang. (2019) Formation control for multi-robot systems with collision avoidance. International Journal of Control 92:10, pages 2223-2234.

Yutong Liu, Hongjun Yu, Cheng-Chew Lim&Peng Shi (2017) Steady formation analysis on multi-robot systems, Journal of Control and Decision, 4:1, 12-31, DOI: 10.1080/23307706.2016.1254073

https://www.roboticoncology.com/history-of-robotic-surgery/

https://online.officetimeline.com/app/#/file/2fd73c1d-0f25-439a-87f6-d138e7b8cdf0


Project Team

Student researchers

Kevin Perera
Vu Quang Truong

Supervisors

Dr. Cheng-Chew Lim
Dr. Duong Duc Nguyen
David Hubczenko (DTSG)