<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://projectswiki.eleceng.adelaide.edu.au/projects/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=A1713814</id>
	<title>Projects - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://projectswiki.eleceng.adelaide.edu.au/projects/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=A1713814"/>
	<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php/Special:Contributions/A1713814"/>
	<updated>2026-06-12T22:47:05Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.4</generator>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s2-7311_Cooperative_Multi-agent_System_to_Achieve_Multiple_Synchronised_Goals&amp;diff=16268</id>
		<title>Projects:2020s2-7311 Cooperative Multi-agent System to Achieve Multiple Synchronised Goals</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s2-7311_Cooperative_Multi-agent_System_to_Achieve_Multiple_Synchronised_Goals&amp;diff=16268"/>
		<updated>2021-06-07T06:03:50Z</updated>

		<summary type="html">&lt;p&gt;A1713814: /* SLAM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:Final Year Projects]]&lt;br /&gt;
[[Category:2020s2|7311]]&lt;br /&gt;
Autonomous multi-agent system is the driving force in the advancement of industries with numerous real-life applications, including robotics and disaster rescue operations.  It has been demonstrated that a team of three degrees of freedom (3-DoF) kinematic software agents can achieve multiple synchronised goals in a simulation environment without prior planning using a decentralised online learning algorithm and through performing dynamic agent-target assignments. The goals relate to logistical concepts that are widely useful such as achieving simultaneous arrival time at multiple-goal locations, adhering to pre-specified terminal arrival angles and being able to avoid obstacles.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
=== Project team ===&lt;br /&gt;
==== Project students ====&lt;br /&gt;
* Sinuo Wang&lt;br /&gt;
==== Supervisors ====&lt;br /&gt;
* Prof. Cheng-Chew Lim&lt;br /&gt;
* Dr. Duong Duc Nguyen&lt;br /&gt;
==== Advisors ====&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
*.The objective of this project is to develop this algorithm prototype from software into a hardware demonstration where the agents retain the decentralised approach, through on-board processing and communicate with each other in a relatively sparse manner to accomplish the objectives.&lt;br /&gt;
The project will develop a technology demonstrator for cooperative multi-agent system to achieve multiple synchronised goals. For development and testing, an algorithm prototype (written in Matlab) will be provided. TurtleBots will be used. The robot is equipped with LiDAR, on-board processor and associated hardware, and supported by a range of robot operating system (ROS) packages and a Wi-Fi Ad Hoc network using BATMAN protocol. &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
Traditional human operations or single autonomous agent missions show many&lt;br /&gt;
limitations in real life applications, such as inadequate human operational abilities,&lt;br /&gt;
and low success rates in single agent operation, etc. While a group of decentralised&lt;br /&gt;
cooperative multi-agent enhances the overall system performance,&lt;br /&gt;
including expanding the feasibilities spatially and temporally, more robust in a&lt;br /&gt;
sense that does not suffer from “single point failure”, and providing reusability.&lt;br /&gt;
Most importantly, in real operations, the lack of the environment information&lt;br /&gt;
and the existence of uncertainties obsolete the prior-planning method.&lt;br /&gt;
=== Navigation Stack ===&lt;br /&gt;
The ROS navigation stack is powerful for mobile robots to move from place to&lt;br /&gt;
place reliably. The objective of the navigation stack is to produce a safe path&lt;br /&gt;
for the robot to execute, through processing data from odometry, sensors and&lt;br /&gt;
environment map [1].The high level components of the navigation stack. The middle box is the core of the navigation stack, which is a node called move_base. It provides a ROS interface for configuring, running, and interacting with the navigation stack on a robot. The move_base package provides an implementation of an action that, given a goal in the world, will attempt to reach it with a mobile base[1]. The only one output of the move_base, that is the “cmd_vel”, the combination of linear and angular velocity commands acted on the wheels, computed from DWA local planner. Inside the move_base node, there are 5 essential plugins, global_planner, local_planner, global_costmap, local_costmap and recovery_behavior. Each has its own indispensable responsibility for the success of the navigation. move_base links them together to accomplish its global navigation task.&lt;br /&gt;
&lt;br /&gt;
=== SLAM ===&lt;br /&gt;
SLAM (Simultaneous Localization and Mapping) is a technique to draw a map&lt;br /&gt;
by estimating current location in an arbitrary space. The SLAM is a wellknown&lt;br /&gt;
feature of TurtleBot from its predecessors.There are many open source packages available for performing the SLAM,such as Gmapping, Karto, Hector and the Cartographer developed by Google [2]. In this project, we are using the Gmapping package for SLAM.This package will allow users to fully serialize the data and pose-graph of the SLAM map to be reloaded to continue mapping, localize, merge, or otherwise&lt;br /&gt;
manipulate. The in-built laser scanning LiDAR sensor and open source&lt;br /&gt;
slam_gmapping packages ROS enable TurtleBot to perform simultaneous localisation&lt;br /&gt;
and mapping. The SLAM function is used to scan the lab landform&lt;br /&gt;
and stored into the PC for providing the map for future navigation. Open&lt;br /&gt;
the visualisation simulation tool RViz and launch the turtlebot3_slam package.&lt;br /&gt;
Control the movement of TurtleBot using keyboard tele operation package to&lt;br /&gt;
scan the surrounding environment and aggregate into a map. The map obtained&lt;br /&gt;
through SLAM is shown below.&lt;br /&gt;
[[File:Map Obtained through SLAM.png|thumb|center|SLAM Map of EM 306]]&lt;br /&gt;
&lt;br /&gt;
=== Proportional Navigation Control Using Waypoint Method===&lt;br /&gt;
The terms in the waypoint equations are all converted to user-defined values or&lt;br /&gt;
the variables obtainable from the TurtleBot. The formula for the next waypoint&lt;br /&gt;
y position is based on the same method. In this way, PN control is applied on&lt;br /&gt;
TurtleBot navigation in a waypoint manner. The waypoints will be published&lt;br /&gt;
on the topic of move_base/goal, containing geometry_msgs/PoseStamped messages&lt;br /&gt;
to the move_base. The move_base uses the path planners mentioned&lt;br /&gt;
above to generate a velocity combination to the topic /cmd_vel to the wheels of&lt;br /&gt;
the TurtleBot so that it navigates the agent to the next waypoint.&lt;br /&gt;
[[File:Waypoint.jpg|frameless|center|Proportional Navigation Control Waypoint Implementation]]&lt;br /&gt;
&lt;br /&gt;
The process in TurtleBot navigation Control:&lt;br /&gt;
[[File:PN control.jpg|frameless|center]]&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
To test the validity of the integrated proportional navigation control method,&lt;br /&gt;
3 initial heading angles are used, which are 45, 90 and 0 degrees. This is realised by changing the initial x and y velocities. For each initial heading angle setting,&lt;br /&gt;
applying a different line of sight angle by varying the destination location.&lt;br /&gt;
Thus, we can observe the trajectory for different heading errors. The figures above show the navigation trajectories and the changes of heading&lt;br /&gt;
angles over iterations. &lt;br /&gt;
[[File:45 Degree initial Heading angle.jpg|thumb|center|Test Results with 45 Degree Initial Heading Angle for DIfferent Goals]]&lt;br /&gt;
&lt;br /&gt;
[[File:Test Redults With 0 degrees Heading Angles for Different Goals.jpg|thumb|center|Test Redults With 0 degrees Heading Angles for Different Goals]]&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
In this project,I developed a proportional navigation control integrated autonomous&lt;br /&gt;
navigation into a real-life demonstration using TurtleBots.Through&lt;br /&gt;
adjusting the lateral acceleration of proportional navigation control , the agent&lt;br /&gt;
is able to autonomously navigate to the goals without prior planning.The idea&lt;br /&gt;
of proportional navigation guidance law is inspired by the collision triangle.&lt;br /&gt;
By correcting the flight path angle with respect to the line of sight angle, a linear&lt;br /&gt;
feedback control system is formed. The Robot Operating System plays a&lt;br /&gt;
key role in the project. ROS provides a platform with many high-performance&lt;br /&gt;
open source packages, which lays a foundation for aggregating the PN control&lt;br /&gt;
with the navigation stack. AMCL uses KLD-sampling algorithm to provide an&lt;br /&gt;
estimation localisation into the tf tree. The drift caused by the encoder between&lt;br /&gt;
the map frame and odom frame can be eliminated with the help of AMCL estimation.&lt;br /&gt;
SLAM is another power function supported by ROS. slam_gmapping&lt;br /&gt;
inputs the tf between the base frame and the odom frame and the scan information&lt;br /&gt;
from laser sensor LiDAR to generate the map of the surroundings.The&lt;br /&gt;
most powerful package is the navigation core i.e., move_base. move_base generates&lt;br /&gt;
the surrounding costmaps into global and local planners for future path&lt;br /&gt;
finding. In the global scope, the path planning using the algorithm of Dijkstra.&lt;br /&gt;
Dijkstra uses the roadmap approach to convert the path finding into a graphic&lt;br /&gt;
search method using the information of a grid cell map. In the local area, DynamicWindow&lt;br /&gt;
Approach is picked as the local planner, which generates all the possible velocity combinations then iterates through the velocity search space&lt;br /&gt;
and selects the combination with the lowest cost value. Finally, the velocity&lt;br /&gt;
picked by theDWA is published to the cmd_vel and the velocity command will&lt;br /&gt;
be acted on the wheels of the TurtleBot to perform the autonomous navigation.&lt;br /&gt;
The PN control is integrated with the navigation stack using the waypoints&lt;br /&gt;
method. After computing the lateral acceleration of the agent, the next waypoint&lt;br /&gt;
after a certain time interval can be calculated using the basic dynamics&lt;br /&gt;
physics formula, and then the position will be taken by move_base as the next&lt;br /&gt;
goal until the current position is at the destination within a reasonable error&lt;br /&gt;
range. All the test results and achievements verified the correct implementation&lt;br /&gt;
of the integrated proportional navigation control algorithm. However, for&lt;br /&gt;
the destinations with large heading errors, the full version of the proportional&lt;br /&gt;
navigation guidance lateral acceleration formula is needed to be used.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[1] N. Fragale, &amp;quot;move_base - ROS Wiki&amp;quot;, Wiki.ros.org, 2020. [Online]. Available: http://wiki.ros.org/move_base. [Accessed: 03- Jun- 2021]&lt;br /&gt;
&lt;br /&gt;
[2] G. Hoorn, &amp;quot;gmapping - ROS Wiki&amp;quot;, Wiki.ros.org, 2019. [Online]. Available: http://wiki.ros.org/gmapping. [Accessed: 03- Jun- 2021].&lt;/div&gt;</summary>
		<author><name>A1713814</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s2-7311_Cooperative_Multi-agent_System_to_Achieve_Multiple_Synchronised_Goals&amp;diff=16267</id>
		<title>Projects:2020s2-7311 Cooperative Multi-agent System to Achieve Multiple Synchronised Goals</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s2-7311_Cooperative_Multi-agent_System_to_Achieve_Multiple_Synchronised_Goals&amp;diff=16267"/>
		<updated>2021-06-07T06:03:23Z</updated>

		<summary type="html">&lt;p&gt;A1713814: /* Navigation Stack */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:Final Year Projects]]&lt;br /&gt;
[[Category:2020s2|7311]]&lt;br /&gt;
Autonomous multi-agent system is the driving force in the advancement of industries with numerous real-life applications, including robotics and disaster rescue operations.  It has been demonstrated that a team of three degrees of freedom (3-DoF) kinematic software agents can achieve multiple synchronised goals in a simulation environment without prior planning using a decentralised online learning algorithm and through performing dynamic agent-target assignments. The goals relate to logistical concepts that are widely useful such as achieving simultaneous arrival time at multiple-goal locations, adhering to pre-specified terminal arrival angles and being able to avoid obstacles.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
=== Project team ===&lt;br /&gt;
==== Project students ====&lt;br /&gt;
* Sinuo Wang&lt;br /&gt;
==== Supervisors ====&lt;br /&gt;
* Prof. Cheng-Chew Lim&lt;br /&gt;
* Dr. Duong Duc Nguyen&lt;br /&gt;
==== Advisors ====&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
*.The objective of this project is to develop this algorithm prototype from software into a hardware demonstration where the agents retain the decentralised approach, through on-board processing and communicate with each other in a relatively sparse manner to accomplish the objectives.&lt;br /&gt;
The project will develop a technology demonstrator for cooperative multi-agent system to achieve multiple synchronised goals. For development and testing, an algorithm prototype (written in Matlab) will be provided. TurtleBots will be used. The robot is equipped with LiDAR, on-board processor and associated hardware, and supported by a range of robot operating system (ROS) packages and a Wi-Fi Ad Hoc network using BATMAN protocol. &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
Traditional human operations or single autonomous agent missions show many&lt;br /&gt;
limitations in real life applications, such as inadequate human operational abilities,&lt;br /&gt;
and low success rates in single agent operation, etc. While a group of decentralised&lt;br /&gt;
cooperative multi-agent enhances the overall system performance,&lt;br /&gt;
including expanding the feasibilities spatially and temporally, more robust in a&lt;br /&gt;
sense that does not suffer from “single point failure”, and providing reusability.&lt;br /&gt;
Most importantly, in real operations, the lack of the environment information&lt;br /&gt;
and the existence of uncertainties obsolete the prior-planning method.&lt;br /&gt;
=== Navigation Stack ===&lt;br /&gt;
The ROS navigation stack is powerful for mobile robots to move from place to&lt;br /&gt;
place reliably. The objective of the navigation stack is to produce a safe path&lt;br /&gt;
for the robot to execute, through processing data from odometry, sensors and&lt;br /&gt;
environment map [1].The high level components of the navigation stack. The middle box is the core of the navigation stack, which is a node called move_base. It provides a ROS interface for configuring, running, and interacting with the navigation stack on a robot. The move_base package provides an implementation of an action that, given a goal in the world, will attempt to reach it with a mobile base[1]. The only one output of the move_base, that is the “cmd_vel”, the combination of linear and angular velocity commands acted on the wheels, computed from DWA local planner. Inside the move_base node, there are 5 essential plugins, global_planner, local_planner, global_costmap, local_costmap and recovery_behavior. Each has its own indispensable responsibility for the success of the navigation. move_base links them together to accomplish its global navigation task.&lt;br /&gt;
&lt;br /&gt;
=== SLAM ===&lt;br /&gt;
SLAM (Simultaneous Localization and Mapping) is a technique to draw a map&lt;br /&gt;
by estimating current location in an arbitrary space. The SLAM is a wellknown&lt;br /&gt;
feature of TurtleBot from its predecessors.There are many open source packages available for performing the SLAM,such as Gmapping, Karto, Hector and the Cartographer developed by Google [14]. In this project, we are using the Gmapping package for SLAM.This package will allow users to fully serialize the data and pose-graph of the SLAM map to be reloaded to continue mapping, localize, merge, or otherwise&lt;br /&gt;
manipulate. The in-built laser scanning LiDAR sensor and open source&lt;br /&gt;
slam_gmapping packages ROS enable TurtleBot to perform simultaneous localisation&lt;br /&gt;
and mapping. The SLAM function is used to scan the lab landform&lt;br /&gt;
and stored into the PC for providing the map for future navigation. Open&lt;br /&gt;
the visualisation simulation tool RViz and launch the turtlebot3_slam package.&lt;br /&gt;
Control the movement of TurtleBot using keyboard tele operation package to&lt;br /&gt;
scan the surrounding environment and aggregate into a map. The map obtained&lt;br /&gt;
through SLAM is shown below.&lt;br /&gt;
[[File:Map Obtained through SLAM.png|thumb|center|SLAM Map of EM 306]]&lt;br /&gt;
&lt;br /&gt;
=== Proportional Navigation Control Using Waypoint Method===&lt;br /&gt;
The terms in the waypoint equations are all converted to user-defined values or&lt;br /&gt;
the variables obtainable from the TurtleBot. The formula for the next waypoint&lt;br /&gt;
y position is based on the same method. In this way, PN control is applied on&lt;br /&gt;
TurtleBot navigation in a waypoint manner. The waypoints will be published&lt;br /&gt;
on the topic of move_base/goal, containing geometry_msgs/PoseStamped messages&lt;br /&gt;
to the move_base. The move_base uses the path planners mentioned&lt;br /&gt;
above to generate a velocity combination to the topic /cmd_vel to the wheels of&lt;br /&gt;
the TurtleBot so that it navigates the agent to the next waypoint.&lt;br /&gt;
[[File:Waypoint.jpg|frameless|center|Proportional Navigation Control Waypoint Implementation]]&lt;br /&gt;
&lt;br /&gt;
The process in TurtleBot navigation Control:&lt;br /&gt;
[[File:PN control.jpg|frameless|center]]&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
To test the validity of the integrated proportional navigation control method,&lt;br /&gt;
3 initial heading angles are used, which are 45, 90 and 0 degrees. This is realised by changing the initial x and y velocities. For each initial heading angle setting,&lt;br /&gt;
applying a different line of sight angle by varying the destination location.&lt;br /&gt;
Thus, we can observe the trajectory for different heading errors. The figures above show the navigation trajectories and the changes of heading&lt;br /&gt;
angles over iterations. &lt;br /&gt;
[[File:45 Degree initial Heading angle.jpg|thumb|center|Test Results with 45 Degree Initial Heading Angle for DIfferent Goals]]&lt;br /&gt;
&lt;br /&gt;
[[File:Test Redults With 0 degrees Heading Angles for Different Goals.jpg|thumb|center|Test Redults With 0 degrees Heading Angles for Different Goals]]&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
In this project,I developed a proportional navigation control integrated autonomous&lt;br /&gt;
navigation into a real-life demonstration using TurtleBots.Through&lt;br /&gt;
adjusting the lateral acceleration of proportional navigation control , the agent&lt;br /&gt;
is able to autonomously navigate to the goals without prior planning.The idea&lt;br /&gt;
of proportional navigation guidance law is inspired by the collision triangle.&lt;br /&gt;
By correcting the flight path angle with respect to the line of sight angle, a linear&lt;br /&gt;
feedback control system is formed. The Robot Operating System plays a&lt;br /&gt;
key role in the project. ROS provides a platform with many high-performance&lt;br /&gt;
open source packages, which lays a foundation for aggregating the PN control&lt;br /&gt;
with the navigation stack. AMCL uses KLD-sampling algorithm to provide an&lt;br /&gt;
estimation localisation into the tf tree. The drift caused by the encoder between&lt;br /&gt;
the map frame and odom frame can be eliminated with the help of AMCL estimation.&lt;br /&gt;
SLAM is another power function supported by ROS. slam_gmapping&lt;br /&gt;
inputs the tf between the base frame and the odom frame and the scan information&lt;br /&gt;
from laser sensor LiDAR to generate the map of the surroundings.The&lt;br /&gt;
most powerful package is the navigation core i.e., move_base. move_base generates&lt;br /&gt;
the surrounding costmaps into global and local planners for future path&lt;br /&gt;
finding. In the global scope, the path planning using the algorithm of Dijkstra.&lt;br /&gt;
Dijkstra uses the roadmap approach to convert the path finding into a graphic&lt;br /&gt;
search method using the information of a grid cell map. In the local area, DynamicWindow&lt;br /&gt;
Approach is picked as the local planner, which generates all the possible velocity combinations then iterates through the velocity search space&lt;br /&gt;
and selects the combination with the lowest cost value. Finally, the velocity&lt;br /&gt;
picked by theDWA is published to the cmd_vel and the velocity command will&lt;br /&gt;
be acted on the wheels of the TurtleBot to perform the autonomous navigation.&lt;br /&gt;
The PN control is integrated with the navigation stack using the waypoints&lt;br /&gt;
method. After computing the lateral acceleration of the agent, the next waypoint&lt;br /&gt;
after a certain time interval can be calculated using the basic dynamics&lt;br /&gt;
physics formula, and then the position will be taken by move_base as the next&lt;br /&gt;
goal until the current position is at the destination within a reasonable error&lt;br /&gt;
range. All the test results and achievements verified the correct implementation&lt;br /&gt;
of the integrated proportional navigation control algorithm. However, for&lt;br /&gt;
the destinations with large heading errors, the full version of the proportional&lt;br /&gt;
navigation guidance lateral acceleration formula is needed to be used.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[1] N. Fragale, &amp;quot;move_base - ROS Wiki&amp;quot;, Wiki.ros.org, 2020. [Online]. Available: http://wiki.ros.org/move_base. [Accessed: 03- Jun- 2021]&lt;br /&gt;
&lt;br /&gt;
[2] G. Hoorn, &amp;quot;gmapping - ROS Wiki&amp;quot;, Wiki.ros.org, 2019. [Online]. Available: http://wiki.ros.org/gmapping. [Accessed: 03- Jun- 2021].&lt;/div&gt;</summary>
		<author><name>A1713814</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s2-7311_Cooperative_Multi-agent_System_to_Achieve_Multiple_Synchronised_Goals&amp;diff=16266</id>
		<title>Projects:2020s2-7311 Cooperative Multi-agent System to Achieve Multiple Synchronised Goals</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s2-7311_Cooperative_Multi-agent_System_to_Achieve_Multiple_Synchronised_Goals&amp;diff=16266"/>
		<updated>2021-06-07T06:02:57Z</updated>

		<summary type="html">&lt;p&gt;A1713814: /* References */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:Final Year Projects]]&lt;br /&gt;
[[Category:2020s2|7311]]&lt;br /&gt;
Autonomous multi-agent system is the driving force in the advancement of industries with numerous real-life applications, including robotics and disaster rescue operations.  It has been demonstrated that a team of three degrees of freedom (3-DoF) kinematic software agents can achieve multiple synchronised goals in a simulation environment without prior planning using a decentralised online learning algorithm and through performing dynamic agent-target assignments. The goals relate to logistical concepts that are widely useful such as achieving simultaneous arrival time at multiple-goal locations, adhering to pre-specified terminal arrival angles and being able to avoid obstacles.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
=== Project team ===&lt;br /&gt;
==== Project students ====&lt;br /&gt;
* Sinuo Wang&lt;br /&gt;
==== Supervisors ====&lt;br /&gt;
* Prof. Cheng-Chew Lim&lt;br /&gt;
* Dr. Duong Duc Nguyen&lt;br /&gt;
==== Advisors ====&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
*.The objective of this project is to develop this algorithm prototype from software into a hardware demonstration where the agents retain the decentralised approach, through on-board processing and communicate with each other in a relatively sparse manner to accomplish the objectives.&lt;br /&gt;
The project will develop a technology demonstrator for cooperative multi-agent system to achieve multiple synchronised goals. For development and testing, an algorithm prototype (written in Matlab) will be provided. TurtleBots will be used. The robot is equipped with LiDAR, on-board processor and associated hardware, and supported by a range of robot operating system (ROS) packages and a Wi-Fi Ad Hoc network using BATMAN protocol. &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
Traditional human operations or single autonomous agent missions show many&lt;br /&gt;
limitations in real life applications, such as inadequate human operational abilities,&lt;br /&gt;
and low success rates in single agent operation, etc. While a group of decentralised&lt;br /&gt;
cooperative multi-agent enhances the overall system performance,&lt;br /&gt;
including expanding the feasibilities spatially and temporally, more robust in a&lt;br /&gt;
sense that does not suffer from “single point failure”, and providing reusability.&lt;br /&gt;
Most importantly, in real operations, the lack of the environment information&lt;br /&gt;
and the existence of uncertainties obsolete the prior-planning method.&lt;br /&gt;
=== Navigation Stack ===&lt;br /&gt;
The ROS navigation stack is powerful for mobile robots to move from place to&lt;br /&gt;
place reliably. The objective of the navigation stack is to produce a safe path&lt;br /&gt;
for the robot to execute, through processing data from odometry, sensors and&lt;br /&gt;
environment map [11].The high level components of the navigation stack. The middle box is the core of the navigation stack, which is a node called move_base. It provides a ROS interface for configuring, running, and interacting with the navigation stack on a robot. The move_base package provides an implementation of an action that, given a goal in the world, will attempt to reach it with a mobile base[11]. The only one output of the move_base, that is the “cmd_vel”, the combination of linear and angular velocity commands acted on the wheels, computed from DWA local planner. Inside the move_base node, there are 5 essential plugins, global_planner, local_planner, global_costmap, local_costmap and recovery_behavior. Each has its own indispensable responsibility for the success of the navigation. move_base links them together to accomplish its global navigation task. &lt;br /&gt;
&lt;br /&gt;
=== SLAM ===&lt;br /&gt;
SLAM (Simultaneous Localization and Mapping) is a technique to draw a map&lt;br /&gt;
by estimating current location in an arbitrary space. The SLAM is a wellknown&lt;br /&gt;
feature of TurtleBot from its predecessors.There are many open source packages available for performing the SLAM,such as Gmapping, Karto, Hector and the Cartographer developed by Google [14]. In this project, we are using the Gmapping package for SLAM.This package will allow users to fully serialize the data and pose-graph of the SLAM map to be reloaded to continue mapping, localize, merge, or otherwise&lt;br /&gt;
manipulate. The in-built laser scanning LiDAR sensor and open source&lt;br /&gt;
slam_gmapping packages ROS enable TurtleBot to perform simultaneous localisation&lt;br /&gt;
and mapping. The SLAM function is used to scan the lab landform&lt;br /&gt;
and stored into the PC for providing the map for future navigation. Open&lt;br /&gt;
the visualisation simulation tool RViz and launch the turtlebot3_slam package.&lt;br /&gt;
Control the movement of TurtleBot using keyboard tele operation package to&lt;br /&gt;
scan the surrounding environment and aggregate into a map. The map obtained&lt;br /&gt;
through SLAM is shown below.&lt;br /&gt;
[[File:Map Obtained through SLAM.png|thumb|center|SLAM Map of EM 306]]&lt;br /&gt;
&lt;br /&gt;
=== Proportional Navigation Control Using Waypoint Method===&lt;br /&gt;
The terms in the waypoint equations are all converted to user-defined values or&lt;br /&gt;
the variables obtainable from the TurtleBot. The formula for the next waypoint&lt;br /&gt;
y position is based on the same method. In this way, PN control is applied on&lt;br /&gt;
TurtleBot navigation in a waypoint manner. The waypoints will be published&lt;br /&gt;
on the topic of move_base/goal, containing geometry_msgs/PoseStamped messages&lt;br /&gt;
to the move_base. The move_base uses the path planners mentioned&lt;br /&gt;
above to generate a velocity combination to the topic /cmd_vel to the wheels of&lt;br /&gt;
the TurtleBot so that it navigates the agent to the next waypoint.&lt;br /&gt;
[[File:Waypoint.jpg|frameless|center|Proportional Navigation Control Waypoint Implementation]]&lt;br /&gt;
&lt;br /&gt;
The process in TurtleBot navigation Control:&lt;br /&gt;
[[File:PN control.jpg|frameless|center]]&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
To test the validity of the integrated proportional navigation control method,&lt;br /&gt;
3 initial heading angles are used, which are 45, 90 and 0 degrees. This is realised by changing the initial x and y velocities. For each initial heading angle setting,&lt;br /&gt;
applying a different line of sight angle by varying the destination location.&lt;br /&gt;
Thus, we can observe the trajectory for different heading errors. The figures above show the navigation trajectories and the changes of heading&lt;br /&gt;
angles over iterations. &lt;br /&gt;
[[File:45 Degree initial Heading angle.jpg|thumb|center|Test Results with 45 Degree Initial Heading Angle for DIfferent Goals]]&lt;br /&gt;
&lt;br /&gt;
[[File:Test Redults With 0 degrees Heading Angles for Different Goals.jpg|thumb|center|Test Redults With 0 degrees Heading Angles for Different Goals]]&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
In this project,I developed a proportional navigation control integrated autonomous&lt;br /&gt;
navigation into a real-life demonstration using TurtleBots.Through&lt;br /&gt;
adjusting the lateral acceleration of proportional navigation control , the agent&lt;br /&gt;
is able to autonomously navigate to the goals without prior planning.The idea&lt;br /&gt;
of proportional navigation guidance law is inspired by the collision triangle.&lt;br /&gt;
By correcting the flight path angle with respect to the line of sight angle, a linear&lt;br /&gt;
feedback control system is formed. The Robot Operating System plays a&lt;br /&gt;
key role in the project. ROS provides a platform with many high-performance&lt;br /&gt;
open source packages, which lays a foundation for aggregating the PN control&lt;br /&gt;
with the navigation stack. AMCL uses KLD-sampling algorithm to provide an&lt;br /&gt;
estimation localisation into the tf tree. The drift caused by the encoder between&lt;br /&gt;
the map frame and odom frame can be eliminated with the help of AMCL estimation.&lt;br /&gt;
SLAM is another power function supported by ROS. slam_gmapping&lt;br /&gt;
inputs the tf between the base frame and the odom frame and the scan information&lt;br /&gt;
from laser sensor LiDAR to generate the map of the surroundings.The&lt;br /&gt;
most powerful package is the navigation core i.e., move_base. move_base generates&lt;br /&gt;
the surrounding costmaps into global and local planners for future path&lt;br /&gt;
finding. In the global scope, the path planning using the algorithm of Dijkstra.&lt;br /&gt;
Dijkstra uses the roadmap approach to convert the path finding into a graphic&lt;br /&gt;
search method using the information of a grid cell map. In the local area, DynamicWindow&lt;br /&gt;
Approach is picked as the local planner, which generates all the possible velocity combinations then iterates through the velocity search space&lt;br /&gt;
and selects the combination with the lowest cost value. Finally, the velocity&lt;br /&gt;
picked by theDWA is published to the cmd_vel and the velocity command will&lt;br /&gt;
be acted on the wheels of the TurtleBot to perform the autonomous navigation.&lt;br /&gt;
The PN control is integrated with the navigation stack using the waypoints&lt;br /&gt;
method. After computing the lateral acceleration of the agent, the next waypoint&lt;br /&gt;
after a certain time interval can be calculated using the basic dynamics&lt;br /&gt;
physics formula, and then the position will be taken by move_base as the next&lt;br /&gt;
goal until the current position is at the destination within a reasonable error&lt;br /&gt;
range. All the test results and achievements verified the correct implementation&lt;br /&gt;
of the integrated proportional navigation control algorithm. However, for&lt;br /&gt;
the destinations with large heading errors, the full version of the proportional&lt;br /&gt;
navigation guidance lateral acceleration formula is needed to be used.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[1] N. Fragale, &amp;quot;move_base - ROS Wiki&amp;quot;, Wiki.ros.org, 2020. [Online]. Available: http://wiki.ros.org/move_base. [Accessed: 03- Jun- 2021]&lt;br /&gt;
&lt;br /&gt;
[2] G. Hoorn, &amp;quot;gmapping - ROS Wiki&amp;quot;, Wiki.ros.org, 2019. [Online]. Available: http://wiki.ros.org/gmapping. [Accessed: 03- Jun- 2021].&lt;/div&gt;</summary>
		<author><name>A1713814</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s2-7311_Cooperative_Multi-agent_System_to_Achieve_Multiple_Synchronised_Goals&amp;diff=16265</id>
		<title>Projects:2020s2-7311 Cooperative Multi-agent System to Achieve Multiple Synchronised Goals</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s2-7311_Cooperative_Multi-agent_System_to_Achieve_Multiple_Synchronised_Goals&amp;diff=16265"/>
		<updated>2021-06-07T06:00:54Z</updated>

		<summary type="html">&lt;p&gt;A1713814: /* Proportional Navigation Control Using Waypoint Method */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:Final Year Projects]]&lt;br /&gt;
[[Category:2020s2|7311]]&lt;br /&gt;
Autonomous multi-agent system is the driving force in the advancement of industries with numerous real-life applications, including robotics and disaster rescue operations.  It has been demonstrated that a team of three degrees of freedom (3-DoF) kinematic software agents can achieve multiple synchronised goals in a simulation environment without prior planning using a decentralised online learning algorithm and through performing dynamic agent-target assignments. The goals relate to logistical concepts that are widely useful such as achieving simultaneous arrival time at multiple-goal locations, adhering to pre-specified terminal arrival angles and being able to avoid obstacles.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
=== Project team ===&lt;br /&gt;
==== Project students ====&lt;br /&gt;
* Sinuo Wang&lt;br /&gt;
==== Supervisors ====&lt;br /&gt;
* Prof. Cheng-Chew Lim&lt;br /&gt;
* Dr. Duong Duc Nguyen&lt;br /&gt;
==== Advisors ====&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
*.The objective of this project is to develop this algorithm prototype from software into a hardware demonstration where the agents retain the decentralised approach, through on-board processing and communicate with each other in a relatively sparse manner to accomplish the objectives.&lt;br /&gt;
The project will develop a technology demonstrator for cooperative multi-agent system to achieve multiple synchronised goals. For development and testing, an algorithm prototype (written in Matlab) will be provided. TurtleBots will be used. The robot is equipped with LiDAR, on-board processor and associated hardware, and supported by a range of robot operating system (ROS) packages and a Wi-Fi Ad Hoc network using BATMAN protocol. &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
Traditional human operations or single autonomous agent missions show many&lt;br /&gt;
limitations in real life applications, such as inadequate human operational abilities,&lt;br /&gt;
and low success rates in single agent operation, etc. While a group of decentralised&lt;br /&gt;
cooperative multi-agent enhances the overall system performance,&lt;br /&gt;
including expanding the feasibilities spatially and temporally, more robust in a&lt;br /&gt;
sense that does not suffer from “single point failure”, and providing reusability.&lt;br /&gt;
Most importantly, in real operations, the lack of the environment information&lt;br /&gt;
and the existence of uncertainties obsolete the prior-planning method.&lt;br /&gt;
=== Navigation Stack ===&lt;br /&gt;
The ROS navigation stack is powerful for mobile robots to move from place to&lt;br /&gt;
place reliably. The objective of the navigation stack is to produce a safe path&lt;br /&gt;
for the robot to execute, through processing data from odometry, sensors and&lt;br /&gt;
environment map [11].The high level components of the navigation stack. The middle box is the core of the navigation stack, which is a node called move_base. It provides a ROS interface for configuring, running, and interacting with the navigation stack on a robot. The move_base package provides an implementation of an action that, given a goal in the world, will attempt to reach it with a mobile base[11]. The only one output of the move_base, that is the “cmd_vel”, the combination of linear and angular velocity commands acted on the wheels, computed from DWA local planner. Inside the move_base node, there are 5 essential plugins, global_planner, local_planner, global_costmap, local_costmap and recovery_behavior. Each has its own indispensable responsibility for the success of the navigation. move_base links them together to accomplish its global navigation task. &lt;br /&gt;
&lt;br /&gt;
=== SLAM ===&lt;br /&gt;
SLAM (Simultaneous Localization and Mapping) is a technique to draw a map&lt;br /&gt;
by estimating current location in an arbitrary space. The SLAM is a wellknown&lt;br /&gt;
feature of TurtleBot from its predecessors.There are many open source packages available for performing the SLAM,such as Gmapping, Karto, Hector and the Cartographer developed by Google [14]. In this project, we are using the Gmapping package for SLAM.This package will allow users to fully serialize the data and pose-graph of the SLAM map to be reloaded to continue mapping, localize, merge, or otherwise&lt;br /&gt;
manipulate. The in-built laser scanning LiDAR sensor and open source&lt;br /&gt;
slam_gmapping packages ROS enable TurtleBot to perform simultaneous localisation&lt;br /&gt;
and mapping. The SLAM function is used to scan the lab landform&lt;br /&gt;
and stored into the PC for providing the map for future navigation. Open&lt;br /&gt;
the visualisation simulation tool RViz and launch the turtlebot3_slam package.&lt;br /&gt;
Control the movement of TurtleBot using keyboard tele operation package to&lt;br /&gt;
scan the surrounding environment and aggregate into a map. The map obtained&lt;br /&gt;
through SLAM is shown below.&lt;br /&gt;
[[File:Map Obtained through SLAM.png|thumb|center|SLAM Map of EM 306]]&lt;br /&gt;
&lt;br /&gt;
=== Proportional Navigation Control Using Waypoint Method===&lt;br /&gt;
The terms in the waypoint equations are all converted to user-defined values or&lt;br /&gt;
the variables obtainable from the TurtleBot. The formula for the next waypoint&lt;br /&gt;
y position is based on the same method. In this way, PN control is applied on&lt;br /&gt;
TurtleBot navigation in a waypoint manner. The waypoints will be published&lt;br /&gt;
on the topic of move_base/goal, containing geometry_msgs/PoseStamped messages&lt;br /&gt;
to the move_base. The move_base uses the path planners mentioned&lt;br /&gt;
above to generate a velocity combination to the topic /cmd_vel to the wheels of&lt;br /&gt;
the TurtleBot so that it navigates the agent to the next waypoint.&lt;br /&gt;
[[File:Waypoint.jpg|frameless|center|Proportional Navigation Control Waypoint Implementation]]&lt;br /&gt;
&lt;br /&gt;
The process in TurtleBot navigation Control:&lt;br /&gt;
[[File:PN control.jpg|frameless|center]]&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
To test the validity of the integrated proportional navigation control method,&lt;br /&gt;
3 initial heading angles are used, which are 45, 90 and 0 degrees. This is realised by changing the initial x and y velocities. For each initial heading angle setting,&lt;br /&gt;
applying a different line of sight angle by varying the destination location.&lt;br /&gt;
Thus, we can observe the trajectory for different heading errors. The figures above show the navigation trajectories and the changes of heading&lt;br /&gt;
angles over iterations. &lt;br /&gt;
[[File:45 Degree initial Heading angle.jpg|thumb|center|Test Results with 45 Degree Initial Heading Angle for DIfferent Goals]]&lt;br /&gt;
&lt;br /&gt;
[[File:Test Redults With 0 degrees Heading Angles for Different Goals.jpg|thumb|center|Test Redults With 0 degrees Heading Angles for Different Goals]]&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
In this project,I developed a proportional navigation control integrated autonomous&lt;br /&gt;
navigation into a real-life demonstration using TurtleBots.Through&lt;br /&gt;
adjusting the lateral acceleration of proportional navigation control , the agent&lt;br /&gt;
is able to autonomously navigate to the goals without prior planning.The idea&lt;br /&gt;
of proportional navigation guidance law is inspired by the collision triangle.&lt;br /&gt;
By correcting the flight path angle with respect to the line of sight angle, a linear&lt;br /&gt;
feedback control system is formed. The Robot Operating System plays a&lt;br /&gt;
key role in the project. ROS provides a platform with many high-performance&lt;br /&gt;
open source packages, which lays a foundation for aggregating the PN control&lt;br /&gt;
with the navigation stack. AMCL uses KLD-sampling algorithm to provide an&lt;br /&gt;
estimation localisation into the tf tree. The drift caused by the encoder between&lt;br /&gt;
the map frame and odom frame can be eliminated with the help of AMCL estimation.&lt;br /&gt;
SLAM is another power function supported by ROS. slam_gmapping&lt;br /&gt;
inputs the tf between the base frame and the odom frame and the scan information&lt;br /&gt;
from laser sensor LiDAR to generate the map of the surroundings.The&lt;br /&gt;
most powerful package is the navigation core i.e., move_base. move_base generates&lt;br /&gt;
the surrounding costmaps into global and local planners for future path&lt;br /&gt;
finding. In the global scope, the path planning using the algorithm of Dijkstra.&lt;br /&gt;
Dijkstra uses the roadmap approach to convert the path finding into a graphic&lt;br /&gt;
search method using the information of a grid cell map. In the local area, DynamicWindow&lt;br /&gt;
Approach is picked as the local planner, which generates all the possible velocity combinations then iterates through the velocity search space&lt;br /&gt;
and selects the combination with the lowest cost value. Finally, the velocity&lt;br /&gt;
picked by theDWA is published to the cmd_vel and the velocity command will&lt;br /&gt;
be acted on the wheels of the TurtleBot to perform the autonomous navigation.&lt;br /&gt;
The PN control is integrated with the navigation stack using the waypoints&lt;br /&gt;
method. After computing the lateral acceleration of the agent, the next waypoint&lt;br /&gt;
after a certain time interval can be calculated using the basic dynamics&lt;br /&gt;
physics formula, and then the position will be taken by move_base as the next&lt;br /&gt;
goal until the current position is at the destination within a reasonable error&lt;br /&gt;
range. All the test results and achievements verified the correct implementation&lt;br /&gt;
of the integrated proportional navigation control algorithm. However, for&lt;br /&gt;
the destinations with large heading errors, the full version of the proportional&lt;br /&gt;
navigation guidance lateral acceleration formula is needed to be used.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[1] ...&lt;br /&gt;
&lt;br /&gt;
[2] ...&lt;/div&gt;</summary>
		<author><name>A1713814</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s2-7311_Cooperative_Multi-agent_System_to_Achieve_Multiple_Synchronised_Goals&amp;diff=16264</id>
		<title>Projects:2020s2-7311 Cooperative Multi-agent System to Achieve Multiple Synchronised Goals</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s2-7311_Cooperative_Multi-agent_System_to_Achieve_Multiple_Synchronised_Goals&amp;diff=16264"/>
		<updated>2021-06-07T06:00:31Z</updated>

		<summary type="html">&lt;p&gt;A1713814: /* Proportional Navigation Control Using Waypoint Method */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:Final Year Projects]]&lt;br /&gt;
[[Category:2020s2|7311]]&lt;br /&gt;
Autonomous multi-agent system is the driving force in the advancement of industries with numerous real-life applications, including robotics and disaster rescue operations.  It has been demonstrated that a team of three degrees of freedom (3-DoF) kinematic software agents can achieve multiple synchronised goals in a simulation environment without prior planning using a decentralised online learning algorithm and through performing dynamic agent-target assignments. The goals relate to logistical concepts that are widely useful such as achieving simultaneous arrival time at multiple-goal locations, adhering to pre-specified terminal arrival angles and being able to avoid obstacles.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
=== Project team ===&lt;br /&gt;
==== Project students ====&lt;br /&gt;
* Sinuo Wang&lt;br /&gt;
==== Supervisors ====&lt;br /&gt;
* Prof. Cheng-Chew Lim&lt;br /&gt;
* Dr. Duong Duc Nguyen&lt;br /&gt;
==== Advisors ====&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
*.The objective of this project is to develop this algorithm prototype from software into a hardware demonstration where the agents retain the decentralised approach, through on-board processing and communicate with each other in a relatively sparse manner to accomplish the objectives.&lt;br /&gt;
The project will develop a technology demonstrator for cooperative multi-agent system to achieve multiple synchronised goals. For development and testing, an algorithm prototype (written in Matlab) will be provided. TurtleBots will be used. The robot is equipped with LiDAR, on-board processor and associated hardware, and supported by a range of robot operating system (ROS) packages and a Wi-Fi Ad Hoc network using BATMAN protocol. &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
Traditional human operations or single autonomous agent missions show many&lt;br /&gt;
limitations in real life applications, such as inadequate human operational abilities,&lt;br /&gt;
and low success rates in single agent operation, etc. While a group of decentralised&lt;br /&gt;
cooperative multi-agent enhances the overall system performance,&lt;br /&gt;
including expanding the feasibilities spatially and temporally, more robust in a&lt;br /&gt;
sense that does not suffer from “single point failure”, and providing reusability.&lt;br /&gt;
Most importantly, in real operations, the lack of the environment information&lt;br /&gt;
and the existence of uncertainties obsolete the prior-planning method.&lt;br /&gt;
=== Navigation Stack ===&lt;br /&gt;
The ROS navigation stack is powerful for mobile robots to move from place to&lt;br /&gt;
place reliably. The objective of the navigation stack is to produce a safe path&lt;br /&gt;
for the robot to execute, through processing data from odometry, sensors and&lt;br /&gt;
environment map [11].The high level components of the navigation stack. The middle box is the core of the navigation stack, which is a node called move_base. It provides a ROS interface for configuring, running, and interacting with the navigation stack on a robot. The move_base package provides an implementation of an action that, given a goal in the world, will attempt to reach it with a mobile base[11]. The only one output of the move_base, that is the “cmd_vel”, the combination of linear and angular velocity commands acted on the wheels, computed from DWA local planner. Inside the move_base node, there are 5 essential plugins, global_planner, local_planner, global_costmap, local_costmap and recovery_behavior. Each has its own indispensable responsibility for the success of the navigation. move_base links them together to accomplish its global navigation task. &lt;br /&gt;
&lt;br /&gt;
=== SLAM ===&lt;br /&gt;
SLAM (Simultaneous Localization and Mapping) is a technique to draw a map&lt;br /&gt;
by estimating current location in an arbitrary space. The SLAM is a wellknown&lt;br /&gt;
feature of TurtleBot from its predecessors.There are many open source packages available for performing the SLAM,such as Gmapping, Karto, Hector and the Cartographer developed by Google [14]. In this project, we are using the Gmapping package for SLAM.This package will allow users to fully serialize the data and pose-graph of the SLAM map to be reloaded to continue mapping, localize, merge, or otherwise&lt;br /&gt;
manipulate. The in-built laser scanning LiDAR sensor and open source&lt;br /&gt;
slam_gmapping packages ROS enable TurtleBot to perform simultaneous localisation&lt;br /&gt;
and mapping. The SLAM function is used to scan the lab landform&lt;br /&gt;
and stored into the PC for providing the map for future navigation. Open&lt;br /&gt;
the visualisation simulation tool RViz and launch the turtlebot3_slam package.&lt;br /&gt;
Control the movement of TurtleBot using keyboard tele operation package to&lt;br /&gt;
scan the surrounding environment and aggregate into a map. The map obtained&lt;br /&gt;
through SLAM is shown below.&lt;br /&gt;
[[File:Map Obtained through SLAM.png|thumb|center|SLAM Map of EM 306]]&lt;br /&gt;
&lt;br /&gt;
=== Proportional Navigation Control Using Waypoint Method===&lt;br /&gt;
The terms in the waypoint equations are all converted to user-defined values or&lt;br /&gt;
the variables obtainable from the TurtleBot. The formula for the next waypoint&lt;br /&gt;
y position is based on the same method. In this way, PN control is applied on&lt;br /&gt;
TurtleBot navigation in a waypoint manner. The waypoints will be published&lt;br /&gt;
on the topic of move_base/goal, containing geometry_msgs/PoseStamped messages&lt;br /&gt;
to the move_base. The move_base uses the path planners mentioned&lt;br /&gt;
above to generate a velocity combination to the topic /cmd_vel to the wheels of&lt;br /&gt;
the TurtleBot so that it navigates the agent to the next waypoint.&lt;br /&gt;
[[File:Waypoint.jpg|frameless|center|Proportional Navigation Control Waypoint Implementation]]&lt;br /&gt;
&lt;br /&gt;
The process in TurtleBot navigation Control:&lt;br /&gt;
[[File:PN control.jpg|frameless|center]]&lt;br /&gt;
[[File:Waypoint.jpg|10*10px|thumb]]&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
To test the validity of the integrated proportional navigation control method,&lt;br /&gt;
3 initial heading angles are used, which are 45, 90 and 0 degrees. This is realised by changing the initial x and y velocities. For each initial heading angle setting,&lt;br /&gt;
applying a different line of sight angle by varying the destination location.&lt;br /&gt;
Thus, we can observe the trajectory for different heading errors. The figures above show the navigation trajectories and the changes of heading&lt;br /&gt;
angles over iterations. &lt;br /&gt;
[[File:45 Degree initial Heading angle.jpg|thumb|center|Test Results with 45 Degree Initial Heading Angle for DIfferent Goals]]&lt;br /&gt;
&lt;br /&gt;
[[File:Test Redults With 0 degrees Heading Angles for Different Goals.jpg|thumb|center|Test Redults With 0 degrees Heading Angles for Different Goals]]&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
In this project,I developed a proportional navigation control integrated autonomous&lt;br /&gt;
navigation into a real-life demonstration using TurtleBots.Through&lt;br /&gt;
adjusting the lateral acceleration of proportional navigation control , the agent&lt;br /&gt;
is able to autonomously navigate to the goals without prior planning.The idea&lt;br /&gt;
of proportional navigation guidance law is inspired by the collision triangle.&lt;br /&gt;
By correcting the flight path angle with respect to the line of sight angle, a linear&lt;br /&gt;
feedback control system is formed. The Robot Operating System plays a&lt;br /&gt;
key role in the project. ROS provides a platform with many high-performance&lt;br /&gt;
open source packages, which lays a foundation for aggregating the PN control&lt;br /&gt;
with the navigation stack. AMCL uses KLD-sampling algorithm to provide an&lt;br /&gt;
estimation localisation into the tf tree. The drift caused by the encoder between&lt;br /&gt;
the map frame and odom frame can be eliminated with the help of AMCL estimation.&lt;br /&gt;
SLAM is another power function supported by ROS. slam_gmapping&lt;br /&gt;
inputs the tf between the base frame and the odom frame and the scan information&lt;br /&gt;
from laser sensor LiDAR to generate the map of the surroundings.The&lt;br /&gt;
most powerful package is the navigation core i.e., move_base. move_base generates&lt;br /&gt;
the surrounding costmaps into global and local planners for future path&lt;br /&gt;
finding. In the global scope, the path planning using the algorithm of Dijkstra.&lt;br /&gt;
Dijkstra uses the roadmap approach to convert the path finding into a graphic&lt;br /&gt;
search method using the information of a grid cell map. In the local area, DynamicWindow&lt;br /&gt;
Approach is picked as the local planner, which generates all the possible velocity combinations then iterates through the velocity search space&lt;br /&gt;
and selects the combination with the lowest cost value. Finally, the velocity&lt;br /&gt;
picked by theDWA is published to the cmd_vel and the velocity command will&lt;br /&gt;
be acted on the wheels of the TurtleBot to perform the autonomous navigation.&lt;br /&gt;
The PN control is integrated with the navigation stack using the waypoints&lt;br /&gt;
method. After computing the lateral acceleration of the agent, the next waypoint&lt;br /&gt;
after a certain time interval can be calculated using the basic dynamics&lt;br /&gt;
physics formula, and then the position will be taken by move_base as the next&lt;br /&gt;
goal until the current position is at the destination within a reasonable error&lt;br /&gt;
range. All the test results and achievements verified the correct implementation&lt;br /&gt;
of the integrated proportional navigation control algorithm. However, for&lt;br /&gt;
the destinations with large heading errors, the full version of the proportional&lt;br /&gt;
navigation guidance lateral acceleration formula is needed to be used.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[1] ...&lt;br /&gt;
&lt;br /&gt;
[2] ...&lt;/div&gt;</summary>
		<author><name>A1713814</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s2-7311_Cooperative_Multi-agent_System_to_Achieve_Multiple_Synchronised_Goals&amp;diff=16263</id>
		<title>Projects:2020s2-7311 Cooperative Multi-agent System to Achieve Multiple Synchronised Goals</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s2-7311_Cooperative_Multi-agent_System_to_Achieve_Multiple_Synchronised_Goals&amp;diff=16263"/>
		<updated>2021-06-07T05:59:37Z</updated>

		<summary type="html">&lt;p&gt;A1713814: /* Proportional Navigation Control Using Waypoint Method */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:Final Year Projects]]&lt;br /&gt;
[[Category:2020s2|7311]]&lt;br /&gt;
Autonomous multi-agent system is the driving force in the advancement of industries with numerous real-life applications, including robotics and disaster rescue operations.  It has been demonstrated that a team of three degrees of freedom (3-DoF) kinematic software agents can achieve multiple synchronised goals in a simulation environment without prior planning using a decentralised online learning algorithm and through performing dynamic agent-target assignments. The goals relate to logistical concepts that are widely useful such as achieving simultaneous arrival time at multiple-goal locations, adhering to pre-specified terminal arrival angles and being able to avoid obstacles.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
=== Project team ===&lt;br /&gt;
==== Project students ====&lt;br /&gt;
* Sinuo Wang&lt;br /&gt;
==== Supervisors ====&lt;br /&gt;
* Prof. Cheng-Chew Lim&lt;br /&gt;
* Dr. Duong Duc Nguyen&lt;br /&gt;
==== Advisors ====&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
*.The objective of this project is to develop this algorithm prototype from software into a hardware demonstration where the agents retain the decentralised approach, through on-board processing and communicate with each other in a relatively sparse manner to accomplish the objectives.&lt;br /&gt;
The project will develop a technology demonstrator for cooperative multi-agent system to achieve multiple synchronised goals. For development and testing, an algorithm prototype (written in Matlab) will be provided. TurtleBots will be used. The robot is equipped with LiDAR, on-board processor and associated hardware, and supported by a range of robot operating system (ROS) packages and a Wi-Fi Ad Hoc network using BATMAN protocol. &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
Traditional human operations or single autonomous agent missions show many&lt;br /&gt;
limitations in real life applications, such as inadequate human operational abilities,&lt;br /&gt;
and low success rates in single agent operation, etc. While a group of decentralised&lt;br /&gt;
cooperative multi-agent enhances the overall system performance,&lt;br /&gt;
including expanding the feasibilities spatially and temporally, more robust in a&lt;br /&gt;
sense that does not suffer from “single point failure”, and providing reusability.&lt;br /&gt;
Most importantly, in real operations, the lack of the environment information&lt;br /&gt;
and the existence of uncertainties obsolete the prior-planning method.&lt;br /&gt;
=== Navigation Stack ===&lt;br /&gt;
The ROS navigation stack is powerful for mobile robots to move from place to&lt;br /&gt;
place reliably. The objective of the navigation stack is to produce a safe path&lt;br /&gt;
for the robot to execute, through processing data from odometry, sensors and&lt;br /&gt;
environment map [11].The high level components of the navigation stack. The middle box is the core of the navigation stack, which is a node called move_base. It provides a ROS interface for configuring, running, and interacting with the navigation stack on a robot. The move_base package provides an implementation of an action that, given a goal in the world, will attempt to reach it with a mobile base[11]. The only one output of the move_base, that is the “cmd_vel”, the combination of linear and angular velocity commands acted on the wheels, computed from DWA local planner. Inside the move_base node, there are 5 essential plugins, global_planner, local_planner, global_costmap, local_costmap and recovery_behavior. Each has its own indispensable responsibility for the success of the navigation. move_base links them together to accomplish its global navigation task. &lt;br /&gt;
&lt;br /&gt;
=== SLAM ===&lt;br /&gt;
SLAM (Simultaneous Localization and Mapping) is a technique to draw a map&lt;br /&gt;
by estimating current location in an arbitrary space. The SLAM is a wellknown&lt;br /&gt;
feature of TurtleBot from its predecessors.There are many open source packages available for performing the SLAM,such as Gmapping, Karto, Hector and the Cartographer developed by Google [14]. In this project, we are using the Gmapping package for SLAM.This package will allow users to fully serialize the data and pose-graph of the SLAM map to be reloaded to continue mapping, localize, merge, or otherwise&lt;br /&gt;
manipulate. The in-built laser scanning LiDAR sensor and open source&lt;br /&gt;
slam_gmapping packages ROS enable TurtleBot to perform simultaneous localisation&lt;br /&gt;
and mapping. The SLAM function is used to scan the lab landform&lt;br /&gt;
and stored into the PC for providing the map for future navigation. Open&lt;br /&gt;
the visualisation simulation tool RViz and launch the turtlebot3_slam package.&lt;br /&gt;
Control the movement of TurtleBot using keyboard tele operation package to&lt;br /&gt;
scan the surrounding environment and aggregate into a map. The map obtained&lt;br /&gt;
through SLAM is shown below.&lt;br /&gt;
[[File:Map Obtained through SLAM.png|thumb|center|SLAM Map of EM 306]]&lt;br /&gt;
&lt;br /&gt;
=== Proportional Navigation Control Using Waypoint Method===&lt;br /&gt;
The terms in the waypoint equations are all converted to user-defined values or&lt;br /&gt;
the variables obtainable from the TurtleBot. The formula for the next waypoint&lt;br /&gt;
y position is based on the same method. In this way, PN control is applied on&lt;br /&gt;
TurtleBot navigation in a waypoint manner. The waypoints will be published&lt;br /&gt;
on the topic of move_base/goal, containing geometry_msgs/PoseStamped messages&lt;br /&gt;
to the move_base. The move_base uses the path planners mentioned&lt;br /&gt;
above to generate a velocity combination to the topic /cmd_vel to the wheels of&lt;br /&gt;
the TurtleBot so that it navigates the agent to the next waypoint.&lt;br /&gt;
[[File:Waypoint.jpg|frameless|center|Proportional Navigation Control Waypoint Implementation]]&lt;br /&gt;
&lt;br /&gt;
The process in TurtleBot navigation Control:&lt;br /&gt;
[[File:PN control.jpg|frameless|center]]&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
To test the validity of the integrated proportional navigation control method,&lt;br /&gt;
3 initial heading angles are used, which are 45, 90 and 0 degrees. This is realised by changing the initial x and y velocities. For each initial heading angle setting,&lt;br /&gt;
applying a different line of sight angle by varying the destination location.&lt;br /&gt;
Thus, we can observe the trajectory for different heading errors. The figures above show the navigation trajectories and the changes of heading&lt;br /&gt;
angles over iterations. &lt;br /&gt;
[[File:45 Degree initial Heading angle.jpg|thumb|center|Test Results with 45 Degree Initial Heading Angle for DIfferent Goals]]&lt;br /&gt;
&lt;br /&gt;
[[File:Test Redults With 0 degrees Heading Angles for Different Goals.jpg|thumb|center|Test Redults With 0 degrees Heading Angles for Different Goals]]&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
In this project,I developed a proportional navigation control integrated autonomous&lt;br /&gt;
navigation into a real-life demonstration using TurtleBots.Through&lt;br /&gt;
adjusting the lateral acceleration of proportional navigation control , the agent&lt;br /&gt;
is able to autonomously navigate to the goals without prior planning.The idea&lt;br /&gt;
of proportional navigation guidance law is inspired by the collision triangle.&lt;br /&gt;
By correcting the flight path angle with respect to the line of sight angle, a linear&lt;br /&gt;
feedback control system is formed. The Robot Operating System plays a&lt;br /&gt;
key role in the project. ROS provides a platform with many high-performance&lt;br /&gt;
open source packages, which lays a foundation for aggregating the PN control&lt;br /&gt;
with the navigation stack. AMCL uses KLD-sampling algorithm to provide an&lt;br /&gt;
estimation localisation into the tf tree. The drift caused by the encoder between&lt;br /&gt;
the map frame and odom frame can be eliminated with the help of AMCL estimation.&lt;br /&gt;
SLAM is another power function supported by ROS. slam_gmapping&lt;br /&gt;
inputs the tf between the base frame and the odom frame and the scan information&lt;br /&gt;
from laser sensor LiDAR to generate the map of the surroundings.The&lt;br /&gt;
most powerful package is the navigation core i.e., move_base. move_base generates&lt;br /&gt;
the surrounding costmaps into global and local planners for future path&lt;br /&gt;
finding. In the global scope, the path planning using the algorithm of Dijkstra.&lt;br /&gt;
Dijkstra uses the roadmap approach to convert the path finding into a graphic&lt;br /&gt;
search method using the information of a grid cell map. In the local area, DynamicWindow&lt;br /&gt;
Approach is picked as the local planner, which generates all the possible velocity combinations then iterates through the velocity search space&lt;br /&gt;
and selects the combination with the lowest cost value. Finally, the velocity&lt;br /&gt;
picked by theDWA is published to the cmd_vel and the velocity command will&lt;br /&gt;
be acted on the wheels of the TurtleBot to perform the autonomous navigation.&lt;br /&gt;
The PN control is integrated with the navigation stack using the waypoints&lt;br /&gt;
method. After computing the lateral acceleration of the agent, the next waypoint&lt;br /&gt;
after a certain time interval can be calculated using the basic dynamics&lt;br /&gt;
physics formula, and then the position will be taken by move_base as the next&lt;br /&gt;
goal until the current position is at the destination within a reasonable error&lt;br /&gt;
range. All the test results and achievements verified the correct implementation&lt;br /&gt;
of the integrated proportional navigation control algorithm. However, for&lt;br /&gt;
the destinations with large heading errors, the full version of the proportional&lt;br /&gt;
navigation guidance lateral acceleration formula is needed to be used.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[1] ...&lt;br /&gt;
&lt;br /&gt;
[2] ...&lt;/div&gt;</summary>
		<author><name>A1713814</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s2-7311_Cooperative_Multi-agent_System_to_Achieve_Multiple_Synchronised_Goals&amp;diff=16262</id>
		<title>Projects:2020s2-7311 Cooperative Multi-agent System to Achieve Multiple Synchronised Goals</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s2-7311_Cooperative_Multi-agent_System_to_Achieve_Multiple_Synchronised_Goals&amp;diff=16262"/>
		<updated>2021-06-07T05:58:56Z</updated>

		<summary type="html">&lt;p&gt;A1713814: /* Proportional Navigation Control Using Waypoint Method */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:Final Year Projects]]&lt;br /&gt;
[[Category:2020s2|7311]]&lt;br /&gt;
Autonomous multi-agent system is the driving force in the advancement of industries with numerous real-life applications, including robotics and disaster rescue operations.  It has been demonstrated that a team of three degrees of freedom (3-DoF) kinematic software agents can achieve multiple synchronised goals in a simulation environment without prior planning using a decentralised online learning algorithm and through performing dynamic agent-target assignments. The goals relate to logistical concepts that are widely useful such as achieving simultaneous arrival time at multiple-goal locations, adhering to pre-specified terminal arrival angles and being able to avoid obstacles.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
=== Project team ===&lt;br /&gt;
==== Project students ====&lt;br /&gt;
* Sinuo Wang&lt;br /&gt;
==== Supervisors ====&lt;br /&gt;
* Prof. Cheng-Chew Lim&lt;br /&gt;
* Dr. Duong Duc Nguyen&lt;br /&gt;
==== Advisors ====&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
*.The objective of this project is to develop this algorithm prototype from software into a hardware demonstration where the agents retain the decentralised approach, through on-board processing and communicate with each other in a relatively sparse manner to accomplish the objectives.&lt;br /&gt;
The project will develop a technology demonstrator for cooperative multi-agent system to achieve multiple synchronised goals. For development and testing, an algorithm prototype (written in Matlab) will be provided. TurtleBots will be used. The robot is equipped with LiDAR, on-board processor and associated hardware, and supported by a range of robot operating system (ROS) packages and a Wi-Fi Ad Hoc network using BATMAN protocol. &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
Traditional human operations or single autonomous agent missions show many&lt;br /&gt;
limitations in real life applications, such as inadequate human operational abilities,&lt;br /&gt;
and low success rates in single agent operation, etc. While a group of decentralised&lt;br /&gt;
cooperative multi-agent enhances the overall system performance,&lt;br /&gt;
including expanding the feasibilities spatially and temporally, more robust in a&lt;br /&gt;
sense that does not suffer from “single point failure”, and providing reusability.&lt;br /&gt;
Most importantly, in real operations, the lack of the environment information&lt;br /&gt;
and the existence of uncertainties obsolete the prior-planning method.&lt;br /&gt;
=== Navigation Stack ===&lt;br /&gt;
The ROS navigation stack is powerful for mobile robots to move from place to&lt;br /&gt;
place reliably. The objective of the navigation stack is to produce a safe path&lt;br /&gt;
for the robot to execute, through processing data from odometry, sensors and&lt;br /&gt;
environment map [11].The high level components of the navigation stack. The middle box is the core of the navigation stack, which is a node called move_base. It provides a ROS interface for configuring, running, and interacting with the navigation stack on a robot. The move_base package provides an implementation of an action that, given a goal in the world, will attempt to reach it with a mobile base[11]. The only one output of the move_base, that is the “cmd_vel”, the combination of linear and angular velocity commands acted on the wheels, computed from DWA local planner. Inside the move_base node, there are 5 essential plugins, global_planner, local_planner, global_costmap, local_costmap and recovery_behavior. Each has its own indispensable responsibility for the success of the navigation. move_base links them together to accomplish its global navigation task. &lt;br /&gt;
&lt;br /&gt;
=== SLAM ===&lt;br /&gt;
SLAM (Simultaneous Localization and Mapping) is a technique to draw a map&lt;br /&gt;
by estimating current location in an arbitrary space. The SLAM is a wellknown&lt;br /&gt;
feature of TurtleBot from its predecessors.There are many open source packages available for performing the SLAM,such as Gmapping, Karto, Hector and the Cartographer developed by Google [14]. In this project, we are using the Gmapping package for SLAM.This package will allow users to fully serialize the data and pose-graph of the SLAM map to be reloaded to continue mapping, localize, merge, or otherwise&lt;br /&gt;
manipulate. The in-built laser scanning LiDAR sensor and open source&lt;br /&gt;
slam_gmapping packages ROS enable TurtleBot to perform simultaneous localisation&lt;br /&gt;
and mapping. The SLAM function is used to scan the lab landform&lt;br /&gt;
and stored into the PC for providing the map for future navigation. Open&lt;br /&gt;
the visualisation simulation tool RViz and launch the turtlebot3_slam package.&lt;br /&gt;
Control the movement of TurtleBot using keyboard tele operation package to&lt;br /&gt;
scan the surrounding environment and aggregate into a map. The map obtained&lt;br /&gt;
through SLAM is shown below.&lt;br /&gt;
[[File:Map Obtained through SLAM.png|thumb|center|SLAM Map of EM 306]]&lt;br /&gt;
&lt;br /&gt;
=== Proportional Navigation Control Using Waypoint Method===&lt;br /&gt;
The terms in the waypoint equations are all converted to user-defined values or&lt;br /&gt;
the variables obtainable from the TurtleBot. The formula for the next waypoint&lt;br /&gt;
y position is based on the same method. In this way, PN control is applied on&lt;br /&gt;
TurtleBot navigation in a waypoint manner. The waypoints will be published&lt;br /&gt;
on the topic of move_base/goal, containing geometry_msgs/PoseStamped messages&lt;br /&gt;
to the move_base. The move_base uses the path planners mentioned&lt;br /&gt;
above to generate a velocity combination to the topic /cmd_vel to the wheels of&lt;br /&gt;
the TurtleBot so that it navigates the agent to the next waypoint.&lt;br /&gt;
[[File:Waypoint.jpg|thumb|center|Proportional Navigation Control Waypoint Implementation]]&lt;br /&gt;
&lt;br /&gt;
The process in TurtleBot navigation Control:&lt;br /&gt;
[[File:PN control.jpg|frameless|center]]&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
To test the validity of the integrated proportional navigation control method,&lt;br /&gt;
3 initial heading angles are used, which are 45, 90 and 0 degrees. This is realised by changing the initial x and y velocities. For each initial heading angle setting,&lt;br /&gt;
applying a different line of sight angle by varying the destination location.&lt;br /&gt;
Thus, we can observe the trajectory for different heading errors. The figures above show the navigation trajectories and the changes of heading&lt;br /&gt;
angles over iterations. &lt;br /&gt;
[[File:45 Degree initial Heading angle.jpg|thumb|center|Test Results with 45 Degree Initial Heading Angle for DIfferent Goals]]&lt;br /&gt;
&lt;br /&gt;
[[File:Test Redults With 0 degrees Heading Angles for Different Goals.jpg|thumb|center|Test Redults With 0 degrees Heading Angles for Different Goals]]&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
In this project,I developed a proportional navigation control integrated autonomous&lt;br /&gt;
navigation into a real-life demonstration using TurtleBots.Through&lt;br /&gt;
adjusting the lateral acceleration of proportional navigation control , the agent&lt;br /&gt;
is able to autonomously navigate to the goals without prior planning.The idea&lt;br /&gt;
of proportional navigation guidance law is inspired by the collision triangle.&lt;br /&gt;
By correcting the flight path angle with respect to the line of sight angle, a linear&lt;br /&gt;
feedback control system is formed. The Robot Operating System plays a&lt;br /&gt;
key role in the project. ROS provides a platform with many high-performance&lt;br /&gt;
open source packages, which lays a foundation for aggregating the PN control&lt;br /&gt;
with the navigation stack. AMCL uses KLD-sampling algorithm to provide an&lt;br /&gt;
estimation localisation into the tf tree. The drift caused by the encoder between&lt;br /&gt;
the map frame and odom frame can be eliminated with the help of AMCL estimation.&lt;br /&gt;
SLAM is another power function supported by ROS. slam_gmapping&lt;br /&gt;
inputs the tf between the base frame and the odom frame and the scan information&lt;br /&gt;
from laser sensor LiDAR to generate the map of the surroundings.The&lt;br /&gt;
most powerful package is the navigation core i.e., move_base. move_base generates&lt;br /&gt;
the surrounding costmaps into global and local planners for future path&lt;br /&gt;
finding. In the global scope, the path planning using the algorithm of Dijkstra.&lt;br /&gt;
Dijkstra uses the roadmap approach to convert the path finding into a graphic&lt;br /&gt;
search method using the information of a grid cell map. In the local area, DynamicWindow&lt;br /&gt;
Approach is picked as the local planner, which generates all the possible velocity combinations then iterates through the velocity search space&lt;br /&gt;
and selects the combination with the lowest cost value. Finally, the velocity&lt;br /&gt;
picked by theDWA is published to the cmd_vel and the velocity command will&lt;br /&gt;
be acted on the wheels of the TurtleBot to perform the autonomous navigation.&lt;br /&gt;
The PN control is integrated with the navigation stack using the waypoints&lt;br /&gt;
method. After computing the lateral acceleration of the agent, the next waypoint&lt;br /&gt;
after a certain time interval can be calculated using the basic dynamics&lt;br /&gt;
physics formula, and then the position will be taken by move_base as the next&lt;br /&gt;
goal until the current position is at the destination within a reasonable error&lt;br /&gt;
range. All the test results and achievements verified the correct implementation&lt;br /&gt;
of the integrated proportional navigation control algorithm. However, for&lt;br /&gt;
the destinations with large heading errors, the full version of the proportional&lt;br /&gt;
navigation guidance lateral acceleration formula is needed to be used.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[1] ...&lt;br /&gt;
&lt;br /&gt;
[2] ...&lt;/div&gt;</summary>
		<author><name>A1713814</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:PN_control.jpg&amp;diff=16261</id>
		<title>File:PN control.jpg</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:PN_control.jpg&amp;diff=16261"/>
		<updated>2021-06-07T05:58:37Z</updated>

		<summary type="html">&lt;p&gt;A1713814: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PN Control Process&lt;/div&gt;</summary>
		<author><name>A1713814</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s2-7311_Cooperative_Multi-agent_System_to_Achieve_Multiple_Synchronised_Goals&amp;diff=16260</id>
		<title>Projects:2020s2-7311 Cooperative Multi-agent System to Achieve Multiple Synchronised Goals</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s2-7311_Cooperative_Multi-agent_System_to_Achieve_Multiple_Synchronised_Goals&amp;diff=16260"/>
		<updated>2021-06-07T05:56:27Z</updated>

		<summary type="html">&lt;p&gt;A1713814: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:Final Year Projects]]&lt;br /&gt;
[[Category:2020s2|7311]]&lt;br /&gt;
Autonomous multi-agent system is the driving force in the advancement of industries with numerous real-life applications, including robotics and disaster rescue operations.  It has been demonstrated that a team of three degrees of freedom (3-DoF) kinematic software agents can achieve multiple synchronised goals in a simulation environment without prior planning using a decentralised online learning algorithm and through performing dynamic agent-target assignments. The goals relate to logistical concepts that are widely useful such as achieving simultaneous arrival time at multiple-goal locations, adhering to pre-specified terminal arrival angles and being able to avoid obstacles.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
=== Project team ===&lt;br /&gt;
==== Project students ====&lt;br /&gt;
* Sinuo Wang&lt;br /&gt;
==== Supervisors ====&lt;br /&gt;
* Prof. Cheng-Chew Lim&lt;br /&gt;
* Dr. Duong Duc Nguyen&lt;br /&gt;
==== Advisors ====&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
*.The objective of this project is to develop this algorithm prototype from software into a hardware demonstration where the agents retain the decentralised approach, through on-board processing and communicate with each other in a relatively sparse manner to accomplish the objectives.&lt;br /&gt;
The project will develop a technology demonstrator for cooperative multi-agent system to achieve multiple synchronised goals. For development and testing, an algorithm prototype (written in Matlab) will be provided. TurtleBots will be used. The robot is equipped with LiDAR, on-board processor and associated hardware, and supported by a range of robot operating system (ROS) packages and a Wi-Fi Ad Hoc network using BATMAN protocol. &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
Traditional human operations or single autonomous agent missions show many&lt;br /&gt;
limitations in real life applications, such as inadequate human operational abilities,&lt;br /&gt;
and low success rates in single agent operation, etc. While a group of decentralised&lt;br /&gt;
cooperative multi-agent enhances the overall system performance,&lt;br /&gt;
including expanding the feasibilities spatially and temporally, more robust in a&lt;br /&gt;
sense that does not suffer from “single point failure”, and providing reusability.&lt;br /&gt;
Most importantly, in real operations, the lack of the environment information&lt;br /&gt;
and the existence of uncertainties obsolete the prior-planning method.&lt;br /&gt;
=== Navigation Stack ===&lt;br /&gt;
The ROS navigation stack is powerful for mobile robots to move from place to&lt;br /&gt;
place reliably. The objective of the navigation stack is to produce a safe path&lt;br /&gt;
for the robot to execute, through processing data from odometry, sensors and&lt;br /&gt;
environment map [11].The high level components of the navigation stack. The middle box is the core of the navigation stack, which is a node called move_base. It provides a ROS interface for configuring, running, and interacting with the navigation stack on a robot. The move_base package provides an implementation of an action that, given a goal in the world, will attempt to reach it with a mobile base[11]. The only one output of the move_base, that is the “cmd_vel”, the combination of linear and angular velocity commands acted on the wheels, computed from DWA local planner. Inside the move_base node, there are 5 essential plugins, global_planner, local_planner, global_costmap, local_costmap and recovery_behavior. Each has its own indispensable responsibility for the success of the navigation. move_base links them together to accomplish its global navigation task. &lt;br /&gt;
&lt;br /&gt;
=== SLAM ===&lt;br /&gt;
SLAM (Simultaneous Localization and Mapping) is a technique to draw a map&lt;br /&gt;
by estimating current location in an arbitrary space. The SLAM is a wellknown&lt;br /&gt;
feature of TurtleBot from its predecessors.There are many open source packages available for performing the SLAM,such as Gmapping, Karto, Hector and the Cartographer developed by Google [14]. In this project, we are using the Gmapping package for SLAM.This package will allow users to fully serialize the data and pose-graph of the SLAM map to be reloaded to continue mapping, localize, merge, or otherwise&lt;br /&gt;
manipulate. The in-built laser scanning LiDAR sensor and open source&lt;br /&gt;
slam_gmapping packages ROS enable TurtleBot to perform simultaneous localisation&lt;br /&gt;
and mapping. The SLAM function is used to scan the lab landform&lt;br /&gt;
and stored into the PC for providing the map for future navigation. Open&lt;br /&gt;
the visualisation simulation tool RViz and launch the turtlebot3_slam package.&lt;br /&gt;
Control the movement of TurtleBot using keyboard tele operation package to&lt;br /&gt;
scan the surrounding environment and aggregate into a map. The map obtained&lt;br /&gt;
through SLAM is shown below.&lt;br /&gt;
[[File:Map Obtained through SLAM.png|thumb|center|SLAM Map of EM 306]]&lt;br /&gt;
&lt;br /&gt;
=== Proportional Navigation Control Using Waypoint Method===&lt;br /&gt;
The terms in the waypoint equations are all converted to user-defined values or&lt;br /&gt;
the variables obtainable from the TurtleBot. The formula for the next waypoint&lt;br /&gt;
y position is based on the same method. In this way, PN control is applied on&lt;br /&gt;
TurtleBot navigation in a waypoint manner. The waypoints will be published&lt;br /&gt;
on the topic of move_base/goal, containing geometry_msgs/PoseStamped messages&lt;br /&gt;
to the move_base. The move_base uses the path planners mentioned&lt;br /&gt;
above to generate a velocity combination to the topic /cmd_vel to the wheels of&lt;br /&gt;
the TurtleBot so that it navigates the agent to the next waypoint.&lt;br /&gt;
[[File:Waypoint.jpg|thumb|center|Proportional Navigation Control Waypoint Implementation]]&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
To test the validity of the integrated proportional navigation control method,&lt;br /&gt;
3 initial heading angles are used, which are 45, 90 and 0 degrees. This is realised by changing the initial x and y velocities. For each initial heading angle setting,&lt;br /&gt;
applying a different line of sight angle by varying the destination location.&lt;br /&gt;
Thus, we can observe the trajectory for different heading errors. The figures above show the navigation trajectories and the changes of heading&lt;br /&gt;
angles over iterations. &lt;br /&gt;
[[File:45 Degree initial Heading angle.jpg|thumb|center|Test Results with 45 Degree Initial Heading Angle for DIfferent Goals]]&lt;br /&gt;
&lt;br /&gt;
[[File:Test Redults With 0 degrees Heading Angles for Different Goals.jpg|thumb|center|Test Redults With 0 degrees Heading Angles for Different Goals]]&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
In this project,I developed a proportional navigation control integrated autonomous&lt;br /&gt;
navigation into a real-life demonstration using TurtleBots.Through&lt;br /&gt;
adjusting the lateral acceleration of proportional navigation control , the agent&lt;br /&gt;
is able to autonomously navigate to the goals without prior planning.The idea&lt;br /&gt;
of proportional navigation guidance law is inspired by the collision triangle.&lt;br /&gt;
By correcting the flight path angle with respect to the line of sight angle, a linear&lt;br /&gt;
feedback control system is formed. The Robot Operating System plays a&lt;br /&gt;
key role in the project. ROS provides a platform with many high-performance&lt;br /&gt;
open source packages, which lays a foundation for aggregating the PN control&lt;br /&gt;
with the navigation stack. AMCL uses KLD-sampling algorithm to provide an&lt;br /&gt;
estimation localisation into the tf tree. The drift caused by the encoder between&lt;br /&gt;
the map frame and odom frame can be eliminated with the help of AMCL estimation.&lt;br /&gt;
SLAM is another power function supported by ROS. slam_gmapping&lt;br /&gt;
inputs the tf between the base frame and the odom frame and the scan information&lt;br /&gt;
from laser sensor LiDAR to generate the map of the surroundings.The&lt;br /&gt;
most powerful package is the navigation core i.e., move_base. move_base generates&lt;br /&gt;
the surrounding costmaps into global and local planners for future path&lt;br /&gt;
finding. In the global scope, the path planning using the algorithm of Dijkstra.&lt;br /&gt;
Dijkstra uses the roadmap approach to convert the path finding into a graphic&lt;br /&gt;
search method using the information of a grid cell map. In the local area, DynamicWindow&lt;br /&gt;
Approach is picked as the local planner, which generates all the possible velocity combinations then iterates through the velocity search space&lt;br /&gt;
and selects the combination with the lowest cost value. Finally, the velocity&lt;br /&gt;
picked by theDWA is published to the cmd_vel and the velocity command will&lt;br /&gt;
be acted on the wheels of the TurtleBot to perform the autonomous navigation.&lt;br /&gt;
The PN control is integrated with the navigation stack using the waypoints&lt;br /&gt;
method. After computing the lateral acceleration of the agent, the next waypoint&lt;br /&gt;
after a certain time interval can be calculated using the basic dynamics&lt;br /&gt;
physics formula, and then the position will be taken by move_base as the next&lt;br /&gt;
goal until the current position is at the destination within a reasonable error&lt;br /&gt;
range. All the test results and achievements verified the correct implementation&lt;br /&gt;
of the integrated proportional navigation control algorithm. However, for&lt;br /&gt;
the destinations with large heading errors, the full version of the proportional&lt;br /&gt;
navigation guidance lateral acceleration formula is needed to be used.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[1] ...&lt;br /&gt;
&lt;br /&gt;
[2] ...&lt;/div&gt;</summary>
		<author><name>A1713814</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s2-7311_Cooperative_Multi-agent_System_to_Achieve_Multiple_Synchronised_Goals&amp;diff=16259</id>
		<title>Projects:2020s2-7311 Cooperative Multi-agent System to Achieve Multiple Synchronised Goals</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s2-7311_Cooperative_Multi-agent_System_to_Achieve_Multiple_Synchronised_Goals&amp;diff=16259"/>
		<updated>2021-06-07T05:55:29Z</updated>

		<summary type="html">&lt;p&gt;A1713814: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:Final Year Projects]]&lt;br /&gt;
[[Category:2020s2|7311]]&lt;br /&gt;
Autonomous multi-agent system is the driving force in the advancement of industries with numerous real-life applications, including robotics and disaster rescue operations.  It has been demonstrated that a team of three degrees of freedom (3-DoF) kinematic software agents can achieve multiple synchronised goals in a simulation environment without prior planning using a decentralised online learning algorithm and through performing dynamic agent-target assignments. The goals relate to logistical concepts that are widely useful such as achieving simultaneous arrival time at multiple-goal locations, adhering to pre-specified terminal arrival angles and being able to avoid obstacles.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
=== Project team ===&lt;br /&gt;
==== Project students ====&lt;br /&gt;
* Sinuo Wang&lt;br /&gt;
==== Supervisors ====&lt;br /&gt;
* Prof. Cheng-Chew Lim&lt;br /&gt;
* Dr. Duong Duc Nguyen&lt;br /&gt;
==== Advisors ====&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
*.The objective of this project is to develop this algorithm prototype from software into a hardware demonstration where the agents retain the decentralised approach, through on-board processing and communicate with each other in a relatively sparse manner to accomplish the objectives.&lt;br /&gt;
The project will develop a technology demonstrator for cooperative multi-agent system to achieve multiple synchronised goals. For development and testing, an algorithm prototype (written in Matlab) will be provided. TurtleBots will be used. The robot is equipped with LiDAR, on-board processor and associated hardware, and supported by a range of robot operating system (ROS) packages and a Wi-Fi Ad Hoc network using BATMAN protocol. &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
Traditional human operations or single autonomous agent missions show many&lt;br /&gt;
limitations in real life applications, such as inadequate human operational abilities,&lt;br /&gt;
and low success rates in single agent operation, etc. While a group of decentralised&lt;br /&gt;
cooperative multi-agent enhances the overall system performance,&lt;br /&gt;
including expanding the feasibilities spatially and temporally, more robust in a&lt;br /&gt;
sense that does not suffer from “single point failure”, and providing reusability.&lt;br /&gt;
Most importantly, in real operations, the lack of the environment information&lt;br /&gt;
and the existence of uncertainties obsolete the prior-planning method.&lt;br /&gt;
=== Navigation Stack ===&lt;br /&gt;
The ROS navigation stack is powerful for mobile robots to move from place to&lt;br /&gt;
place reliably. The objective of the navigation stack is to produce a safe path&lt;br /&gt;
for the robot to execute, through processing data from odometry, sensors and&lt;br /&gt;
environment map [11].The high level components of the navigation stack. The middle box is the core of the navigation stack, which is a node called move_base. It provides a ROS interface for configuring, running, and interacting with the navigation stack on a robot. The move_base package provides an implementation of an action that, given a goal in the world, will attempt to reach it with a mobile base[11]. The only one output of the move_base, that is the “cmd_vel”, the combination of linear and angular velocity commands acted on the wheels, computed from DWA local planner. Inside the move_base node, there are 5 essential plugins, global_planner, local_planner, global_costmap, local_costmap and recovery_behavior. Each has its own indispensable responsibility for the success of the navigation. move_base links them together to accomplish its global navigation task. &lt;br /&gt;
&lt;br /&gt;
=== SLAM ===&lt;br /&gt;
SLAM (Simultaneous Localization and Mapping) is a technique to draw a map&lt;br /&gt;
by estimating current location in an arbitrary space. The SLAM is a wellknown&lt;br /&gt;
feature of TurtleBot from its predecessors.There are many open source packages available for performing the SLAM,such as Gmapping, Karto, Hector and the Cartographer developed by Google [14]. In this project, we are using the Gmapping package for SLAM.This package will allow users to fully serialize the data and pose-graph of the SLAM map to be reloaded to continue mapping, localize, merge, or otherwise&lt;br /&gt;
manipulate. The in-built laser scanning LiDAR sensor and open source&lt;br /&gt;
slam_gmapping packages ROS enable TurtleBot to perform simultaneous localisation&lt;br /&gt;
and mapping. The SLAM function is used to scan the lab landform&lt;br /&gt;
and stored into the PC for providing the map for future navigation. Open&lt;br /&gt;
the visualisation simulation tool RViz and launch the turtlebot3_slam package.&lt;br /&gt;
Control the movement of TurtleBot using keyboard tele operation package to&lt;br /&gt;
scan the surrounding environment and aggregate into a map. The map obtained&lt;br /&gt;
through SLAM is shown below.&lt;br /&gt;
[[File:Map Obtained through SLAM.png|thumb|center|SLAM Map of EM 306]]&lt;br /&gt;
&lt;br /&gt;
=== Proportional Navigation Control Using Waypoint Method===&lt;br /&gt;
The terms in the waypoint equations are all converted to user-defined values or&lt;br /&gt;
the variables obtainable from the TurtleBot. The formula for the next waypoint&lt;br /&gt;
y position is based on the same method. In this way, PN control is applied on&lt;br /&gt;
TurtleBot navigation in a waypoint manner. The waypoints will be published&lt;br /&gt;
on the topic of move_base/goal, containing geometry_msgs/PoseStamped messages&lt;br /&gt;
to the move_base. The move_base uses the path planners mentioned&lt;br /&gt;
above to generate a velocity combination to the topic /cmd_vel to the wheels of&lt;br /&gt;
the TurtleBot so that it navigates the agent to the next waypoint.&lt;br /&gt;
[[File:Waypoint.jpg|thumb|center|Proportional Navigation Control Waypoint Implementation]]&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
[[File:Next Waypoint .jpg|thumb|center|Next Waypoint]]&lt;br /&gt;
To test the validity of the integrated proportional navigation control method,&lt;br /&gt;
3 initial heading angles are used, which are 45, 90 and 0 degrees. This is realised by changing the initial x and y velocities. For each initial heading angle setting,&lt;br /&gt;
applying a different line of sight angle by varying the destination location.&lt;br /&gt;
Thus, we can observe the trajectory for different heading errors. The figures above show the navigation trajectories and the changes of heading&lt;br /&gt;
angles over iterations. &lt;br /&gt;
[[File:45 Degree initial Heading angle.jpg|thumb|center|Test Results with 45 Degree Initial Heading Angle for DIfferent Goals]]&lt;br /&gt;
&lt;br /&gt;
[[File:Test Redults With 0 degrees Heading Angles for Different Goals.jpg|thumb|center|Test Redults With 0 degrees Heading Angles for Different Goals]]&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
In this project,I developed a proportional navigation control integrated autonomous&lt;br /&gt;
navigation into a real-life demonstration using TurtleBots.Through&lt;br /&gt;
adjusting the lateral acceleration of proportional navigation control , the agent&lt;br /&gt;
is able to autonomously navigate to the goals without prior planning.The idea&lt;br /&gt;
of proportional navigation guidance law is inspired by the collision triangle.&lt;br /&gt;
By correcting the flight path angle with respect to the line of sight angle, a linear&lt;br /&gt;
feedback control system is formed. The Robot Operating System plays a&lt;br /&gt;
key role in the project. ROS provides a platform with many high-performance&lt;br /&gt;
open source packages, which lays a foundation for aggregating the PN control&lt;br /&gt;
with the navigation stack. AMCL uses KLD-sampling algorithm to provide an&lt;br /&gt;
estimation localisation into the tf tree. The drift caused by the encoder between&lt;br /&gt;
the map frame and odom frame can be eliminated with the help of AMCL estimation.&lt;br /&gt;
SLAM is another power function supported by ROS. slam_gmapping&lt;br /&gt;
inputs the tf between the base frame and the odom frame and the scan information&lt;br /&gt;
from laser sensor LiDAR to generate the map of the surroundings.The&lt;br /&gt;
most powerful package is the navigation core i.e., move_base. move_base generates&lt;br /&gt;
the surrounding costmaps into global and local planners for future path&lt;br /&gt;
finding. In the global scope, the path planning using the algorithm of Dijkstra.&lt;br /&gt;
Dijkstra uses the roadmap approach to convert the path finding into a graphic&lt;br /&gt;
search method using the information of a grid cell map. In the local area, DynamicWindow&lt;br /&gt;
Approach is picked as the local planner, which generates all the possible velocity combinations then iterates through the velocity search space&lt;br /&gt;
and selects the combination with the lowest cost value. Finally, the velocity&lt;br /&gt;
picked by theDWA is published to the cmd_vel and the velocity command will&lt;br /&gt;
be acted on the wheels of the TurtleBot to perform the autonomous navigation.&lt;br /&gt;
The PN control is integrated with the navigation stack using the waypoints&lt;br /&gt;
method. After computing the lateral acceleration of the agent, the next waypoint&lt;br /&gt;
after a certain time interval can be calculated using the basic dynamics&lt;br /&gt;
physics formula, and then the position will be taken by move_base as the next&lt;br /&gt;
goal until the current position is at the destination within a reasonable error&lt;br /&gt;
range. All the test results and achievements verified the correct implementation&lt;br /&gt;
of the integrated proportional navigation control algorithm. However, for&lt;br /&gt;
the destinations with large heading errors, the full version of the proportional&lt;br /&gt;
navigation guidance lateral acceleration formula is needed to be used.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[1] ...&lt;br /&gt;
&lt;br /&gt;
[2] ...&lt;/div&gt;</summary>
		<author><name>A1713814</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:Waypoint.jpg&amp;diff=16258</id>
		<title>File:Waypoint.jpg</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:Waypoint.jpg&amp;diff=16258"/>
		<updated>2021-06-07T05:54:54Z</updated>

		<summary type="html">&lt;p&gt;A1713814: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Proportional Navigation Control Waypoint Method Implementation&lt;/div&gt;</summary>
		<author><name>A1713814</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s2-7311_Cooperative_Multi-agent_System_to_Achieve_Multiple_Synchronised_Goals&amp;diff=16257</id>
		<title>Projects:2020s2-7311 Cooperative Multi-agent System to Achieve Multiple Synchronised Goals</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s2-7311_Cooperative_Multi-agent_System_to_Achieve_Multiple_Synchronised_Goals&amp;diff=16257"/>
		<updated>2021-06-07T05:50:36Z</updated>

		<summary type="html">&lt;p&gt;A1713814: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:Final Year Projects]]&lt;br /&gt;
[[Category:2020s2|7311]]&lt;br /&gt;
Autonomous multi-agent system is the driving force in the advancement of industries with numerous real-life applications, including robotics and disaster rescue operations.  It has been demonstrated that a team of three degrees of freedom (3-DoF) kinematic software agents can achieve multiple synchronised goals in a simulation environment without prior planning using a decentralised online learning algorithm and through performing dynamic agent-target assignments. The goals relate to logistical concepts that are widely useful such as achieving simultaneous arrival time at multiple-goal locations, adhering to pre-specified terminal arrival angles and being able to avoid obstacles.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
=== Project team ===&lt;br /&gt;
==== Project students ====&lt;br /&gt;
* Sinuo Wang&lt;br /&gt;
==== Supervisors ====&lt;br /&gt;
* Prof. Cheng-Chew Lim&lt;br /&gt;
* Dr. Duong Duc Nguyen&lt;br /&gt;
==== Advisors ====&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
*.The objective of this project is to develop this algorithm prototype from software into a hardware demonstration where the agents retain the decentralised approach, through on-board processing and communicate with each other in a relatively sparse manner to accomplish the objectives.&lt;br /&gt;
The project will develop a technology demonstrator for cooperative multi-agent system to achieve multiple synchronised goals. For development and testing, an algorithm prototype (written in Matlab) will be provided. TurtleBots will be used. The robot is equipped with LiDAR, on-board processor and associated hardware, and supported by a range of robot operating system (ROS) packages and a Wi-Fi Ad Hoc network using BATMAN protocol. &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
Traditional human operations or single autonomous agent missions show many&lt;br /&gt;
limitations in real life applications, such as inadequate human operational abilities,&lt;br /&gt;
and low success rates in single agent operation, etc. While a group of decentralised&lt;br /&gt;
cooperative multi-agent enhances the overall system performance,&lt;br /&gt;
including expanding the feasibilities spatially and temporally, more robust in a&lt;br /&gt;
sense that does not suffer from “single point failure”, and providing reusability.&lt;br /&gt;
Most importantly, in real operations, the lack of the environment information&lt;br /&gt;
and the existence of uncertainties obsolete the prior-planning method.&lt;br /&gt;
=== Navigation Stack ===&lt;br /&gt;
The ROS navigation stack is powerful for mobile robots to move from place to&lt;br /&gt;
place reliably. The objective of the navigation stack is to produce a safe path&lt;br /&gt;
for the robot to execute, through processing data from odometry, sensors and&lt;br /&gt;
environment map [11].The high level components of the navigation stack. The middle box is the core of the navigation stack, which is a node called move_base. It provides a ROS interface for configuring, running, and interacting with the navigation stack on a robot. The move_base package provides an implementation of an action that, given a goal in the world, will attempt to reach it with a mobile base[11]. The only one output of the move_base, that is the “cmd_vel”, the combination of linear and angular velocity commands acted on the wheels, computed from DWA local planner. Inside the move_base node, there are 5 essential plugins, global_planner, local_planner, global_costmap, local_costmap and recovery_behavior. Each has its own indispensable responsibility for the success of the navigation. move_base links them together to accomplish its global navigation task. &lt;br /&gt;
&lt;br /&gt;
=== SLAM ===&lt;br /&gt;
SLAM (Simultaneous Localization and Mapping) is a technique to draw a map&lt;br /&gt;
by estimating current location in an arbitrary space. The SLAM is a wellknown&lt;br /&gt;
feature of TurtleBot from its predecessors.There are many open source packages available for performing the SLAM,such as Gmapping, Karto, Hector and the Cartographer developed by Google [14]. In this project, we are using the Gmapping package for SLAM.This package will allow users to fully serialize the data and pose-graph of the SLAM map to be reloaded to continue mapping, localize, merge, or otherwise&lt;br /&gt;
manipulate. The in-built laser scanning LiDAR sensor and open source&lt;br /&gt;
slam_gmapping packages ROS enable TurtleBot to perform simultaneous localisation&lt;br /&gt;
and mapping. The SLAM function is used to scan the lab landform&lt;br /&gt;
and stored into the PC for providing the map for future navigation. Open&lt;br /&gt;
the visualisation simulation tool RViz and launch the turtlebot3_slam package.&lt;br /&gt;
Control the movement of TurtleBot using keyboard tele operation package to&lt;br /&gt;
scan the surrounding environment and aggregate into a map. The map obtained&lt;br /&gt;
through SLAM is shown below.&lt;br /&gt;
[[File:Map Obtained through SLAM.png|thumb|center|SLAM Map of EM 306]]&lt;br /&gt;
&lt;br /&gt;
=== Proportional Navigation Control Using Waypoint Method===&lt;br /&gt;
The terms in the waypoint equations are all converted to user-defined values or&lt;br /&gt;
the variables obtainable from the TurtleBot. The formula for the next waypoint&lt;br /&gt;
y position is based on the same method. In this way, PN control is applied on&lt;br /&gt;
TurtleBot navigation in a waypoint manner. The waypoints will be published&lt;br /&gt;
on the topic of move_base/goal, containing geometry_msgs/PoseStamped messages&lt;br /&gt;
to the move_base. The move_base uses the path planners mentioned&lt;br /&gt;
above to generate a velocity combination to the topic /cmd_vel to the wheels of&lt;br /&gt;
the turtlebot so that it navigates the agent to the next waypoint.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
[[File:Next Waypoint .jpg|thumb|center|Next Waypoint]]&lt;br /&gt;
To test the validity of the integrated proportional navigation control method,&lt;br /&gt;
3 initial heading angles are used, which are 45, 90 and 0 degrees. This is realised by changing the initial x and y velocities. For each initial heading angle setting,&lt;br /&gt;
applying a different line of sight angle by varying the destination location.&lt;br /&gt;
Thus, we can observe the trajectory for different heading errors. The figures above show the navigation trajectories and the changes of heading&lt;br /&gt;
angles over iterations. &lt;br /&gt;
[[File:45 Degree initial Heading angle.jpg|thumb|center|Test Results with 45 Degree Initial Heading Angle for DIfferent Goals]]&lt;br /&gt;
&lt;br /&gt;
[[File:Test Redults With 0 degrees Heading Angles for Different Goals.jpg|thumb|center|Test Redults With 0 degrees Heading Angles for Different Goals]]&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
In this project,I developed a proportional navigation control integrated autonomous&lt;br /&gt;
navigation into a real-life demonstration using TurtleBots.Through&lt;br /&gt;
adjusting the lateral acceleration of proportional navigation control , the agent&lt;br /&gt;
is able to autonomously navigate to the goals without prior planning.The idea&lt;br /&gt;
of proportional navigation guidance law is inspired by the collision triangle.&lt;br /&gt;
By correcting the flight path angle with respect to the line of sight angle, a linear&lt;br /&gt;
feedback control system is formed. The Robot Operating System plays a&lt;br /&gt;
key role in the project. ROS provides a platform with many high-performance&lt;br /&gt;
open source packages, which lays a foundation for aggregating the PN control&lt;br /&gt;
with the navigation stack. AMCL uses KLD-sampling algorithm to provide an&lt;br /&gt;
estimation localisation into the tf tree. The drift caused by the encoder between&lt;br /&gt;
the map frame and odom frame can be eliminated with the help of AMCL estimation.&lt;br /&gt;
SLAM is another power function supported by ROS. slam_gmapping&lt;br /&gt;
inputs the tf between the base frame and the odom frame and the scan information&lt;br /&gt;
from laser sensor LiDAR to generate the map of the surroundings.The&lt;br /&gt;
most powerful package is the navigation core i.e., move_base. move_base generates&lt;br /&gt;
the surrounding costmaps into global and local planners for future path&lt;br /&gt;
finding. In the global scope, the path planning using the algorithm of Dijkstra.&lt;br /&gt;
Dijkstra uses the roadmap approach to convert the path finding into a graphic&lt;br /&gt;
search method using the information of a grid cell map. In the local area, DynamicWindow&lt;br /&gt;
Approach is picked as the local planner, which generates all the possible velocity combinations then iterates through the velocity search space&lt;br /&gt;
and selects the combination with the lowest cost value. Finally, the velocity&lt;br /&gt;
picked by theDWA is published to the cmd_vel and the velocity command will&lt;br /&gt;
be acted on the wheels of the TurtleBot to perform the autonomous navigation.&lt;br /&gt;
The PN control is integrated with the navigation stack using the waypoints&lt;br /&gt;
method. After computing the lateral acceleration of the agent, the next waypoint&lt;br /&gt;
after a certain time interval can be calculated using the basic dynamics&lt;br /&gt;
physics formula, and then the position will be taken by move_base as the next&lt;br /&gt;
goal until the current position is at the destination within a reasonable error&lt;br /&gt;
range. All the test results and achievements verified the correct implementation&lt;br /&gt;
of the integrated proportional navigation control algorithm. However, for&lt;br /&gt;
the destinations with large heading errors, the full version of the proportional&lt;br /&gt;
navigation guidance lateral acceleration formula is needed to be used.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[1] ...&lt;br /&gt;
&lt;br /&gt;
[2] ...&lt;/div&gt;</summary>
		<author><name>A1713814</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:Next_Waypoint_.jpg&amp;diff=16256</id>
		<title>File:Next Waypoint .jpg</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:Next_Waypoint_.jpg&amp;diff=16256"/>
		<updated>2021-06-07T05:50:10Z</updated>

		<summary type="html">&lt;p&gt;A1713814: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Next Waypoint&lt;/div&gt;</summary>
		<author><name>A1713814</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s2-7311_Cooperative_Multi-agent_System_to_Achieve_Multiple_Synchronised_Goals&amp;diff=16255</id>
		<title>Projects:2020s2-7311 Cooperative Multi-agent System to Achieve Multiple Synchronised Goals</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s2-7311_Cooperative_Multi-agent_System_to_Achieve_Multiple_Synchronised_Goals&amp;diff=16255"/>
		<updated>2021-06-07T05:44:24Z</updated>

		<summary type="html">&lt;p&gt;A1713814: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:Final Year Projects]]&lt;br /&gt;
[[Category:2020s2|7311]]&lt;br /&gt;
Autonomous multi-agent system is the driving force in the advancement of industries with numerous real-life applications, including robotics and disaster rescue operations.  It has been demonstrated that a team of three degrees of freedom (3-DoF) kinematic software agents can achieve multiple synchronised goals in a simulation environment without prior planning using a decentralised online learning algorithm and through performing dynamic agent-target assignments. The goals relate to logistical concepts that are widely useful such as achieving simultaneous arrival time at multiple-goal locations, adhering to pre-specified terminal arrival angles and being able to avoid obstacles.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
=== Project team ===&lt;br /&gt;
==== Project students ====&lt;br /&gt;
* Sinuo Wang&lt;br /&gt;
==== Supervisors ====&lt;br /&gt;
* Prof. Cheng-Chew Lim&lt;br /&gt;
* Dr. Duong Duc Nguyen&lt;br /&gt;
==== Advisors ====&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
*.The objective of this project is to develop this algorithm prototype from software into a hardware demonstration where the agents retain the decentralised approach, through on-board processing and communicate with each other in a relatively sparse manner to accomplish the objectives.&lt;br /&gt;
The project will develop a technology demonstrator for cooperative multi-agent system to achieve multiple synchronised goals. For development and testing, an algorithm prototype (written in Matlab) will be provided. TurtleBots will be used. The robot is equipped with LiDAR, on-board processor and associated hardware, and supported by a range of robot operating system (ROS) packages and a Wi-Fi Ad Hoc network using BATMAN protocol. &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
Traditional human operations or single autonomous agent missions show many&lt;br /&gt;
limitations in real life applications, such as inadequate human operational abilities,&lt;br /&gt;
and low success rates in single agent operation, etc. While a group of decentralised&lt;br /&gt;
cooperative multi-agent enhances the overall system performance,&lt;br /&gt;
including expanding the feasibilities spatially and temporally, more robust in a&lt;br /&gt;
sense that does not suffer from “single point failure”, and providing reusability.&lt;br /&gt;
Most importantly, in real operations, the lack of the environment information&lt;br /&gt;
and the existence of uncertainties obsolete the prior-planning method.&lt;br /&gt;
=== Navigation Stack ===&lt;br /&gt;
The ROS navigation stack is powerful for mobile robots to move from place to&lt;br /&gt;
place reliably. The objective of the navigation stack is to produce a safe path&lt;br /&gt;
for the robot to execute, through processing data from odometry, sensors and&lt;br /&gt;
environment map [11].The high level components of the navigation stack. The middle box is the core of the navigation stack, which is a node called move_base. It provides a ROS interface for configuring, running, and interacting with the navigation stack on a robot. The move_base package provides an implementation of an action that, given a goal in the world, will attempt to reach it with a mobile base[11]. The only one output of the move_base, that is the “cmd_vel”, the combination of linear and angular velocity commands acted on the wheels, computed from DWA local planner. Inside the move_base node, there are 5 essential plugins, global_planner, local_planner, global_costmap, local_costmap and recovery_behavior. Each has its own indispensable responsibility for the success of the navigation. move_base links them together to accomplish its global navigation task. &lt;br /&gt;
&lt;br /&gt;
=== SLAM ===&lt;br /&gt;
SLAM (Simultaneous Localization and Mapping) is a technique to draw a map&lt;br /&gt;
by estimating current location in an arbitrary space. The SLAM is a wellknown&lt;br /&gt;
feature of TurtleBot from its predecessors.There are many open source packages available for performing the SLAM,such as Gmapping, Karto, Hector and the Cartographer developed by Google [14]. In this project, we are using the Gmapping package for SLAM.This package will allow users to fully serialize the data and pose-graph of the SLAM map to be reloaded to continue mapping, localize, merge, or otherwise&lt;br /&gt;
manipulate. The in-built laser scanning LiDAR sensor and open source&lt;br /&gt;
slam_gmapping packages ROS enable TurtleBot to perform simultaneous localisation&lt;br /&gt;
and mapping. The SLAM function is used to scan the lab landform&lt;br /&gt;
and stored into the PC for providing the map for future navigation. Open&lt;br /&gt;
the visualisation simulation tool RViz and launch the turtlebot3_slam package.&lt;br /&gt;
Control the movement of TurtleBot using keyboard tele operation package to&lt;br /&gt;
scan the surrounding environment and aggregate into a map. The map obtained&lt;br /&gt;
through SLAM is shown below.&lt;br /&gt;
[[File:Map Obtained through SLAM.png|thumb|center|SLAM Map of EM 306]]&lt;br /&gt;
&lt;br /&gt;
=== Proportional Navigation Control Using Waypoint Method===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
To test the validity of the integrated proportional navigation control method,&lt;br /&gt;
3 initial heading angles are used, which are 45�, 90� and 0�. This is realised by changing the initial x and y velocities. For each initial heading angle setting,&lt;br /&gt;
applying a different line of sight angle by varying the destination location.&lt;br /&gt;
Thus, we can observe the trajectory for different heading errors. The figures above show the navigation trajectories and the changes of heading&lt;br /&gt;
angles over iterations. &lt;br /&gt;
[[File:45 Degree initial Heading angle.jpg|thu|center|Test Results with 45 Degree Initial Heading Angle for DIfferent Goals]]&lt;br /&gt;
&lt;br /&gt;
[[File:Test Redults With 0 degrees Heading Angles for Different Goals.jpg|thumb|center|Test Redults With 0 degrees Heading Angles for Different Goals]]&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
In this project,I developed a proportional navigation control integrated autonomous&lt;br /&gt;
navigation into a real-life demonstration using TurtleBots.Through&lt;br /&gt;
adjusting the lateral acceleration of proportional navigation control , the agent&lt;br /&gt;
is able to autonomously navigate to the goals without prior planning.The idea&lt;br /&gt;
of proportional navigation guidance law is inspired by the collision triangle.&lt;br /&gt;
By correcting the flight path angle with respect to the line of sight angle, a linear&lt;br /&gt;
feedback control system is formed. The Robot Operating System plays a&lt;br /&gt;
key role in the project. ROS provides a platform with many high-performance&lt;br /&gt;
open source packages, which lays a foundation for aggregating the PN control&lt;br /&gt;
with the navigation stack. AMCL uses KLD-sampling algorithm to provide an&lt;br /&gt;
estimation localisation into the tf tree. The drift caused by the encoder between&lt;br /&gt;
the map frame and odom frame can be eliminated with the help of AMCL estimation.&lt;br /&gt;
SLAM is another power function supported by ROS. slam_gmapping&lt;br /&gt;
inputs the tf between the base frame and the odom frame and the scan information&lt;br /&gt;
from laser sensor LiDAR to generate the map of the surroundings.The&lt;br /&gt;
most powerful package is the navigation core i.e., move_base. move_base generates&lt;br /&gt;
the surrounding costmaps into global and local planners for future path&lt;br /&gt;
finding. In the global scope, the path planning using the algorithm of Dijkstra.&lt;br /&gt;
Dijkstra uses the roadmap approach to convert the path finding into a graphic&lt;br /&gt;
search method using the information of a grid cell map. In the local area, DynamicWindow&lt;br /&gt;
Approach is picked as the local planner, which generates all the possible velocity combinations then iterates through the velocity search space&lt;br /&gt;
and selects the combination with the lowest cost value. Finally, the velocity&lt;br /&gt;
picked by theDWA is published to the cmd_vel and the velocity command will&lt;br /&gt;
be acted on the wheels of the TurtleBot to perform the autonomous navigation.&lt;br /&gt;
The PN control is integrated with the navigation stack using the waypoints&lt;br /&gt;
method. After computing the lateral acceleration of the agent, the next waypoint&lt;br /&gt;
after a certain time interval can be calculated using the basic dynamics&lt;br /&gt;
physics formula, and then the position will be taken by move_base as the next&lt;br /&gt;
goal until the current position is at the destination within a reasonable error&lt;br /&gt;
range. All the test results and achievements verified the correct implementation&lt;br /&gt;
of the integrated proportional navigation control algorithm. However, for&lt;br /&gt;
the destinations with large heading errors, the full version of the proportional&lt;br /&gt;
navigation guidance lateral acceleration formula is needed to be used.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[1] ...&lt;br /&gt;
&lt;br /&gt;
[2] ...&lt;/div&gt;</summary>
		<author><name>A1713814</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:Test_Redults_With_0_degrees_Heading_Angles_for_Different_Goals.jpg&amp;diff=16254</id>
		<title>File:Test Redults With 0 degrees Heading Angles for Different Goals.jpg</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:Test_Redults_With_0_degrees_Heading_Angles_for_Different_Goals.jpg&amp;diff=16254"/>
		<updated>2021-06-07T05:43:27Z</updated>

		<summary type="html">&lt;p&gt;A1713814: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Test Redults With 0 degrees Heading Angles for Different Goals&lt;/div&gt;</summary>
		<author><name>A1713814</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:45_Degree_initial_Heading_angle.jpg&amp;diff=16253</id>
		<title>File:45 Degree initial Heading angle.jpg</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:45_Degree_initial_Heading_angle.jpg&amp;diff=16253"/>
		<updated>2021-06-07T05:41:27Z</updated>

		<summary type="html">&lt;p&gt;A1713814: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Waypoints and Heading angles in each iteration&lt;/div&gt;</summary>
		<author><name>A1713814</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s2-7311_Cooperative_Multi-agent_System_to_Achieve_Multiple_Synchronised_Goals&amp;diff=16252</id>
		<title>Projects:2020s2-7311 Cooperative Multi-agent System to Achieve Multiple Synchronised Goals</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s2-7311_Cooperative_Multi-agent_System_to_Achieve_Multiple_Synchronised_Goals&amp;diff=16252"/>
		<updated>2021-06-07T05:35:37Z</updated>

		<summary type="html">&lt;p&gt;A1713814: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:Final Year Projects]]&lt;br /&gt;
[[Category:2020s2|7311]]&lt;br /&gt;
Autonomous multi-agent system is the driving force in the advancement of industries with numerous real-life applications, including robotics and disaster rescue operations.  It has been demonstrated that a team of three degrees of freedom (3-DoF) kinematic software agents can achieve multiple synchronised goals in a simulation environment without prior planning using a decentralised online learning algorithm and through performing dynamic agent-target assignments. The goals relate to logistical concepts that are widely useful such as achieving simultaneous arrival time at multiple-goal locations, adhering to pre-specified terminal arrival angles and being able to avoid obstacles.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
=== Project team ===&lt;br /&gt;
==== Project students ====&lt;br /&gt;
* Sinuo Wang&lt;br /&gt;
==== Supervisors ====&lt;br /&gt;
* Prof. Cheng-Chew Lim&lt;br /&gt;
* Dr. Duong Duc Nguyen&lt;br /&gt;
==== Advisors ====&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
*.The objective of this project is to develop this algorithm prototype from software into a hardware demonstration where the agents retain the decentralised approach, through on-board processing and communicate with each other in a relatively sparse manner to accomplish the objectives.&lt;br /&gt;
The project will develop a technology demonstrator for cooperative multi-agent system to achieve multiple synchronised goals. For development and testing, an algorithm prototype (written in Matlab) will be provided. TurtleBots will be used. The robot is equipped with LiDAR, on-board processor and associated hardware, and supported by a range of robot operating system (ROS) packages and a Wi-Fi Ad Hoc network using BATMAN protocol. &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
Traditional human operations or single autonomous agent missions show many&lt;br /&gt;
limitations in real life applications, such as inadequate human operational abilities,&lt;br /&gt;
and low success rates in single agent operation, etc. While a group of decentralised&lt;br /&gt;
cooperative multi-agent enhances the overall system performance,&lt;br /&gt;
including expanding the feasibilities spatially and temporally, more robust in a&lt;br /&gt;
sense that does not suffer from “single point failure”, and providing reusability.&lt;br /&gt;
Most importantly, in real operations, the lack of the environment information&lt;br /&gt;
and the existence of uncertainties obsolete the prior-planning method.&lt;br /&gt;
=== Navigation Stack ===&lt;br /&gt;
The ROS navigation stack is powerful for mobile robots to move from place to&lt;br /&gt;
place reliably. The objective of the navigation stack is to produce a safe path&lt;br /&gt;
for the robot to execute, through processing data from odometry, sensors and&lt;br /&gt;
environment map [11].The high level components of the navigation stack. The middle box is the core of the navigation stack, which is a node called move_base. It provides a ROS interface for configuring, running, and interacting with the navigation stack on a robot. The move_base package provides an implementation of an action that, given a goal in the world, will attempt to reach it with a mobile base[11]. The only one output of the move_base, that is the “cmd_vel”, the combination of linear and angular velocity commands acted on the wheels, computed from DWA local planner. Inside the move_base node, there are 5 essential plugins, global_planner, local_planner, global_costmap, local_costmap and recovery_behavior. Each has its own indispensable responsibility for the success of the navigation. move_base links them together to accomplish its global navigation task. &lt;br /&gt;
&lt;br /&gt;
=== SLAM ===&lt;br /&gt;
SLAM (Simultaneous Localization and Mapping) is a technique to draw a map&lt;br /&gt;
by estimating current location in an arbitrary space. The SLAM is a wellknown&lt;br /&gt;
feature of TurtleBot from its predecessors.There are many open source packages available for performing the SLAM,such as Gmapping, Karto, Hector and the Cartographer developed by Google [14]. In this project, we are using the Gmapping package for SLAM.This package will allow users to fully serialize the data and pose-graph of the SLAM map to be reloaded to continue mapping, localize, merge, or otherwise&lt;br /&gt;
manipulate. The in-built laser scanning LiDAR sensor and open source&lt;br /&gt;
slam_gmapping packages ROS enable TurtleBot to perform simultaneous localisation&lt;br /&gt;
and mapping. The SLAM function is used to scan the lab landform&lt;br /&gt;
and stored into the PC for providing the map for future navigation. Open&lt;br /&gt;
the visualisation simulation tool RViz and launch the turtlebot3_slam package.&lt;br /&gt;
Control the movement of TurtleBot using keyboard tele operation package to&lt;br /&gt;
scan the surrounding environment and aggregate into a map. The map obtained&lt;br /&gt;
through SLAM is shown below.&lt;br /&gt;
[[File:Map Obtained through SLAM.png|thumb|SLAM Map of EM 306]]&lt;br /&gt;
&lt;br /&gt;
=== Proportional Navigation Control Using Waypoint Method===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
In this project,I developed a proportional navigation control integrated autonomous&lt;br /&gt;
navigation into a real-life demonstration using TurtleBots.Through&lt;br /&gt;
adjusting the lateral acceleration of proportional navigation control , the agent&lt;br /&gt;
is able to autonomously navigate to the goals without prior planning.The idea&lt;br /&gt;
of proportional navigation guidance law is inspired by the collision triangle.&lt;br /&gt;
By correcting the flight path angle with respect to the line of sight angle, a linear&lt;br /&gt;
feedback control system is formed. The Robot Operating System plays a&lt;br /&gt;
key role in the project. ROS provides a platform with many high-performance&lt;br /&gt;
open source packages, which lays a foundation for aggregating the PN control&lt;br /&gt;
with the navigation stack. AMCL uses KLD-sampling algorithm to provide an&lt;br /&gt;
estimation localisation into the tf tree. The drift caused by the encoder between&lt;br /&gt;
the map frame and odom frame can be eliminated with the help of AMCL estimation.&lt;br /&gt;
SLAM is another power function supported by ROS. slam_gmapping&lt;br /&gt;
inputs the tf between the base frame and the odom frame and the scan information&lt;br /&gt;
from laser sensor LiDAR to generate the map of the surroundings.The&lt;br /&gt;
most powerful package is the navigation core i.e., move_base. move_base generates&lt;br /&gt;
the surrounding costmaps into global and local planners for future path&lt;br /&gt;
finding. In the global scope, the path planning using the algorithm of Dijkstra.&lt;br /&gt;
Dijkstra uses the roadmap approach to convert the path finding into a graphic&lt;br /&gt;
search method using the information of a grid cell map. In the local area, DynamicWindow&lt;br /&gt;
Approach is picked as the local planner, which generates all the possible velocity combinations then iterates through the velocity search space&lt;br /&gt;
and selects the combination with the lowest cost value. Finally, the velocity&lt;br /&gt;
picked by theDWA is published to the cmd_vel and the velocity command will&lt;br /&gt;
be acted on the wheels of the TurtleBot to perform the autonomous navigation.&lt;br /&gt;
The PN control is integrated with the navigation stack using the waypoints&lt;br /&gt;
method. After computing the lateral acceleration of the agent, the next waypoint&lt;br /&gt;
after a certain time interval can be calculated using the basic dynamics&lt;br /&gt;
physics formula, and then the position will be taken by move_base as the next&lt;br /&gt;
goal until the current position is at the destination within a reasonable error&lt;br /&gt;
range. All the test results and achievements verified the correct implementation&lt;br /&gt;
of the integrated proportional navigation control algorithm. However, for&lt;br /&gt;
the destinations with large heading errors, the full version of the proportional&lt;br /&gt;
navigation guidance lateral acceleration formula is needed to be used.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[1] ...&lt;br /&gt;
&lt;br /&gt;
[2] ...&lt;/div&gt;</summary>
		<author><name>A1713814</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:Map_Obtained_through_SLAM.png&amp;diff=16251</id>
		<title>File:Map Obtained through SLAM.png</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=File:Map_Obtained_through_SLAM.png&amp;diff=16251"/>
		<updated>2021-06-07T05:34:02Z</updated>

		<summary type="html">&lt;p&gt;A1713814: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Map of EM 306 Obtained from TurtleBot SLAM&lt;/div&gt;</summary>
		<author><name>A1713814</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s2-7311_Cooperative_Multi-agent_System_to_Achieve_Multiple_Synchronised_Goals&amp;diff=16250</id>
		<title>Projects:2020s2-7311 Cooperative Multi-agent System to Achieve Multiple Synchronised Goals</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s2-7311_Cooperative_Multi-agent_System_to_Achieve_Multiple_Synchronised_Goals&amp;diff=16250"/>
		<updated>2021-06-07T05:22:02Z</updated>

		<summary type="html">&lt;p&gt;A1713814: /* Conclusion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:Final Year Projects]]&lt;br /&gt;
[[Category:2020s2|7311]]&lt;br /&gt;
Autonomous multi-agent system is the driving force in the advancement of industries with numerous real-life applications, including robotics and disaster rescue operations.  It has been demonstrated that a team of three degrees of freedom (3-DoF) kinematic software agents can achieve multiple synchronised goals in a simulation environment without prior planning using a decentralised online learning algorithm and through performing dynamic agent-target assignments. The goals relate to logistical concepts that are widely useful such as achieving simultaneous arrival time at multiple-goal locations, adhering to pre-specified terminal arrival angles and being able to avoid obstacles.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
=== Project team ===&lt;br /&gt;
==== Project students ====&lt;br /&gt;
* Sinuo Wang&lt;br /&gt;
==== Supervisors ====&lt;br /&gt;
* Prof. Cheng-Chew Lim&lt;br /&gt;
* Dr. Duong Duc Nguyen&lt;br /&gt;
==== Advisors ====&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
*.The objective of this project is to develop this algorithm prototype from software into a hardware demonstration where the agents retain the decentralised approach, through on-board processing and communicate with each other in a relatively sparse manner to accomplish the objectives.&lt;br /&gt;
The project will develop a technology demonstrator for cooperative multi-agent system to achieve multiple synchronised goals. For development and testing, an algorithm prototype (written in Matlab) will be provided. TurtleBots will be used. The robot is equipped with LiDAR, on-board processor and associated hardware, and supported by a range of robot operating system (ROS) packages and a Wi-Fi Ad Hoc network using BATMAN protocol. &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
Traditional human operations or single autonomous agent missions show many&lt;br /&gt;
limitations in real life applications, such as inadequate human operational abilities,&lt;br /&gt;
and low success rates in single agent operation, etc. While a group of decentralised&lt;br /&gt;
cooperative multi-agent enhances the overall system performance,&lt;br /&gt;
including expanding the feasibilities spatially and temporally, more robust in a&lt;br /&gt;
sense that does not suffer from “single point failure”, and providing reusability.&lt;br /&gt;
Most importantly, in real operations, the lack of the environment information&lt;br /&gt;
and the existence of uncertainties obsolete the prior-planning method.&lt;br /&gt;
=== Topic 1 ===&lt;br /&gt;
&lt;br /&gt;
== Method ==&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
In this project,I developed a proportional navigation control integrated autonomous&lt;br /&gt;
navigation into a real-life demonstration using TurtleBots.Through&lt;br /&gt;
adjusting the lateral acceleration of proportional navigation control , the agent&lt;br /&gt;
is able to autonomously navigate to the goals without prior planning.The idea&lt;br /&gt;
of proportional navigation guidance law is inspired by the collision triangle.&lt;br /&gt;
By correcting the flight path angle with respect to the line of sight angle, a linear&lt;br /&gt;
feedback control system is formed. The Robot Operating System plays a&lt;br /&gt;
key role in the project. ROS provides a platform with many high-performance&lt;br /&gt;
open source packages, which lays a foundation for aggregating the PN control&lt;br /&gt;
with the navigation stack. AMCL uses KLD-sampling algorithm to provide an&lt;br /&gt;
estimation localisation into the tf tree. The drift caused by the encoder between&lt;br /&gt;
the map frame and odom frame can be eliminated with the help of AMCL estimation.&lt;br /&gt;
SLAM is another power function supported by ROS. slam_gmapping&lt;br /&gt;
inputs the tf between the base frame and the odom frame and the scan information&lt;br /&gt;
from laser sensor LiDAR to generate the map of the surroundings.The&lt;br /&gt;
most powerful package is the navigation core i.e., move_base. move_base generates&lt;br /&gt;
the surrounding costmaps into global and local planners for future path&lt;br /&gt;
finding. In the global scope, the path planning using the algorithm of Dijkstra.&lt;br /&gt;
Dijkstra uses the roadmap approach to convert the path finding into a graphic&lt;br /&gt;
search method using the information of a grid cell map. In the local area, DynamicWindow&lt;br /&gt;
Approach is picked as the local planner, which generates all the possible velocity combinations then iterates through the velocity search space&lt;br /&gt;
and selects the combination with the lowest cost value. Finally, the velocity&lt;br /&gt;
picked by theDWA is published to the cmd_vel and the velocity command will&lt;br /&gt;
be acted on the wheels of the TurtleBot to perform the autonomous navigation.&lt;br /&gt;
The PN control is integrated with the navigation stack using the waypoints&lt;br /&gt;
method. After computing the lateral acceleration of the agent, the next waypoint&lt;br /&gt;
after a certain time interval can be calculated using the basic dynamics&lt;br /&gt;
physics formula, and then the position will be taken by move_base as the next&lt;br /&gt;
goal until the current position is at the destination within a reasonable error&lt;br /&gt;
range. All the test results and achievements verified the correct implementation&lt;br /&gt;
of the integrated proportional navigation control algorithm. However, for&lt;br /&gt;
the destinations with large heading errors, the full version of the proportional&lt;br /&gt;
navigation guidance lateral acceleration formula is needed to be used.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[1] ...&lt;br /&gt;
&lt;br /&gt;
[2] ...&lt;/div&gt;</summary>
		<author><name>A1713814</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s2-7311_Cooperative_Multi-agent_System_to_Achieve_Multiple_Synchronised_Goals&amp;diff=16249</id>
		<title>Projects:2020s2-7311 Cooperative Multi-agent System to Achieve Multiple Synchronised Goals</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s2-7311_Cooperative_Multi-agent_System_to_Achieve_Multiple_Synchronised_Goals&amp;diff=16249"/>
		<updated>2021-06-07T05:20:10Z</updated>

		<summary type="html">&lt;p&gt;A1713814: /* Conclusion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:Final Year Projects]]&lt;br /&gt;
[[Category:2020s2|7311]]&lt;br /&gt;
Autonomous multi-agent system is the driving force in the advancement of industries with numerous real-life applications, including robotics and disaster rescue operations.  It has been demonstrated that a team of three degrees of freedom (3-DoF) kinematic software agents can achieve multiple synchronised goals in a simulation environment without prior planning using a decentralised online learning algorithm and through performing dynamic agent-target assignments. The goals relate to logistical concepts that are widely useful such as achieving simultaneous arrival time at multiple-goal locations, adhering to pre-specified terminal arrival angles and being able to avoid obstacles.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
=== Project team ===&lt;br /&gt;
==== Project students ====&lt;br /&gt;
* Sinuo Wang&lt;br /&gt;
==== Supervisors ====&lt;br /&gt;
* Prof. Cheng-Chew Lim&lt;br /&gt;
* Dr. Duong Duc Nguyen&lt;br /&gt;
==== Advisors ====&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
*.The objective of this project is to develop this algorithm prototype from software into a hardware demonstration where the agents retain the decentralised approach, through on-board processing and communicate with each other in a relatively sparse manner to accomplish the objectives.&lt;br /&gt;
The project will develop a technology demonstrator for cooperative multi-agent system to achieve multiple synchronised goals. For development and testing, an algorithm prototype (written in Matlab) will be provided. TurtleBots will be used. The robot is equipped with LiDAR, on-board processor and associated hardware, and supported by a range of robot operating system (ROS) packages and a Wi-Fi Ad Hoc network using BATMAN protocol. &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
Traditional human operations or single autonomous agent missions show many&lt;br /&gt;
limitations in real life applications, such as inadequate human operational abilities,&lt;br /&gt;
and low success rates in single agent operation, etc. While a group of decentralised&lt;br /&gt;
cooperative multi-agent enhances the overall system performance,&lt;br /&gt;
including expanding the feasibilities spatially and temporally, more robust in a&lt;br /&gt;
sense that does not suffer from “single point failure”, and providing reusability.&lt;br /&gt;
Most importantly, in real operations, the lack of the environment information&lt;br /&gt;
and the existence of uncertainties obsolete the prior-planning method.&lt;br /&gt;
=== Topic 1 ===&lt;br /&gt;
&lt;br /&gt;
== Method ==&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
In this project,I developed a proportional navigation control integrated autonomous&lt;br /&gt;
navigation into a real-life demonstration using TurtleBots.Through&lt;br /&gt;
adjusting the lateral acceleration of proportional navigation control , the agent&lt;br /&gt;
is able to autonomously navigate to the goals without prior planning.The idea&lt;br /&gt;
of proportional navigation guidance law is inspired by the collision triangle.&lt;br /&gt;
By correcting the flight path angle with respect to the line of sight angle, a linear&lt;br /&gt;
feedback control system is formed. The Robot Operating System plays a&lt;br /&gt;
key role in the project. ROS provides a platform with many high-performance&lt;br /&gt;
open source packages, which lays a foundation for aggregating the PN control&lt;br /&gt;
with the navigation stack. AMCL uses KLD-sampling algorithm to provide an&lt;br /&gt;
estimation localisation into the tf tree. The drift caused by the encoder between&lt;br /&gt;
the map frame and odom frame can be eliminated with the help of AMCL estimation.&lt;br /&gt;
SLAM is another power function supported by ROS. slam_gmapping&lt;br /&gt;
inputs the tf between the base frame and the odom frame and the scan information&lt;br /&gt;
from laser sensor LiDAR to generate the map of the surroundings.The&lt;br /&gt;
most powerful package is the navigation core i.e., move_base. move_base generates&lt;br /&gt;
the surrounding costmaps into global and local planners for future path&lt;br /&gt;
finding. In the global scope, the path planning using the algorithm of Dijkstra.&lt;br /&gt;
Dijkstra uses the roadmap approach to convert the path finding into a graphic&lt;br /&gt;
search method using the information of a grid cell map. In the local area, DynamicWindow&lt;br /&gt;
Approach is picked as the local planner, which generates all the&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[1] ...&lt;br /&gt;
&lt;br /&gt;
[2] ...&lt;/div&gt;</summary>
		<author><name>A1713814</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s2-7311_Cooperative_Multi-agent_System_to_Achieve_Multiple_Synchronised_Goals&amp;diff=16248</id>
		<title>Projects:2020s2-7311 Cooperative Multi-agent System to Achieve Multiple Synchronised Goals</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s2-7311_Cooperative_Multi-agent_System_to_Achieve_Multiple_Synchronised_Goals&amp;diff=16248"/>
		<updated>2021-06-07T05:18:30Z</updated>

		<summary type="html">&lt;p&gt;A1713814: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:Final Year Projects]]&lt;br /&gt;
[[Category:2020s2|7311]]&lt;br /&gt;
Autonomous multi-agent system is the driving force in the advancement of industries with numerous real-life applications, including robotics and disaster rescue operations.  It has been demonstrated that a team of three degrees of freedom (3-DoF) kinematic software agents can achieve multiple synchronised goals in a simulation environment without prior planning using a decentralised online learning algorithm and through performing dynamic agent-target assignments. The goals relate to logistical concepts that are widely useful such as achieving simultaneous arrival time at multiple-goal locations, adhering to pre-specified terminal arrival angles and being able to avoid obstacles.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
=== Project team ===&lt;br /&gt;
==== Project students ====&lt;br /&gt;
* Sinuo Wang&lt;br /&gt;
==== Supervisors ====&lt;br /&gt;
* Prof. Cheng-Chew Lim&lt;br /&gt;
* Dr. Duong Duc Nguyen&lt;br /&gt;
==== Advisors ====&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
*.The objective of this project is to develop this algorithm prototype from software into a hardware demonstration where the agents retain the decentralised approach, through on-board processing and communicate with each other in a relatively sparse manner to accomplish the objectives.&lt;br /&gt;
The project will develop a technology demonstrator for cooperative multi-agent system to achieve multiple synchronised goals. For development and testing, an algorithm prototype (written in Matlab) will be provided. TurtleBots will be used. The robot is equipped with LiDAR, on-board processor and associated hardware, and supported by a range of robot operating system (ROS) packages and a Wi-Fi Ad Hoc network using BATMAN protocol. &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
Traditional human operations or single autonomous agent missions show many&lt;br /&gt;
limitations in real life applications, such as inadequate human operational abilities,&lt;br /&gt;
and low success rates in single agent operation, etc. While a group of decentralised&lt;br /&gt;
cooperative multi-agent enhances the overall system performance,&lt;br /&gt;
including expanding the feasibilities spatially and temporally, more robust in a&lt;br /&gt;
sense that does not suffer from “single point failure”, and providing reusability.&lt;br /&gt;
Most importantly, in real operations, the lack of the environment information&lt;br /&gt;
and the existence of uncertainties obsolete the prior-planning method.&lt;br /&gt;
=== Topic 1 ===&lt;br /&gt;
&lt;br /&gt;
== Method ==&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[1] ...&lt;br /&gt;
&lt;br /&gt;
[2] ...&lt;/div&gt;</summary>
		<author><name>A1713814</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s2-7311_Cooperative_Multi-agent_System_to_Achieve_Multiple_Synchronised_Goals&amp;diff=16247</id>
		<title>Projects:2020s2-7311 Cooperative Multi-agent System to Achieve Multiple Synchronised Goals</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s2-7311_Cooperative_Multi-agent_System_to_Achieve_Multiple_Synchronised_Goals&amp;diff=16247"/>
		<updated>2021-06-07T05:16:04Z</updated>

		<summary type="html">&lt;p&gt;A1713814: /* Project team */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:Final Year Projects]]&lt;br /&gt;
[[Category:2020s2|7311]]&lt;br /&gt;
Autonomous multi-agent system is the driving force in the advancement of industries with numerous real-life applications, including robotics and disaster rescue operations.  It has been demonstrated that a team of three degrees of freedom (3-DoF) kinematic software agents can achieve multiple synchronised goals in a simulation environment without prior planning using a decentralised online learning algorithm and through performing dynamic agent-target assignments. The goals relate to logistical concepts that are widely useful such as achieving simultaneous arrival time at multiple-goal locations, adhering to pre-specified terminal arrival angles and being able to avoid obstacles.&lt;br /&gt;
&lt;br /&gt;
The objective of this project is to develop this algorithm prototype from software into a hardware demonstration where the agents retain the decentralised approach, through on-board processing and communicate with each other in a relatively sparse manner to accomplish the objectives.&lt;br /&gt;
The project will develop a technology demonstrator for cooperative multi-agent system to achieve multiple synchronised goals. For development and testing, an algorithm prototype (written in Matlab) will be provided. TurtleBots will be used. The robot is equipped with LiDAR, on-board processor and associated hardware, and supported by a range of robot operating system (ROS) packages and a Wi-Fi Ad Hoc network. &lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
=== Project team ===&lt;br /&gt;
==== Project students ====&lt;br /&gt;
* Sinuo Wang&lt;br /&gt;
==== Supervisors ====&lt;br /&gt;
* Prof. Cheng-Chew Lim&lt;br /&gt;
* Dr. Duong Duc Nguyen&lt;br /&gt;
==== Advisors ====&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* The objective of this project is to develop this algorithm prototype from software into a hardware demonstration where the agents retain the decentralised approach, through on-board processing and communicate with each other in a relatively sparse manner to accomplish the objectives.&lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
=== Topic 1 ===&lt;br /&gt;
&lt;br /&gt;
== Method ==&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[1] ...&lt;br /&gt;
&lt;br /&gt;
[2] ...&lt;/div&gt;</summary>
		<author><name>A1713814</name></author>
		
	</entry>
	<entry>
		<id>https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s2-7311_Cooperative_Multi-agent_System_to_Achieve_Multiple_Synchronised_Goals&amp;diff=15179</id>
		<title>Projects:2020s2-7311 Cooperative Multi-agent System to Achieve Multiple Synchronised Goals</title>
		<link rel="alternate" type="text/html" href="https://projectswiki.eleceng.adelaide.edu.au/projects/index.php?title=Projects:2020s2-7311_Cooperative_Multi-agent_System_to_Achieve_Multiple_Synchronised_Goals&amp;diff=15179"/>
		<updated>2020-09-21T00:53:15Z</updated>

		<summary type="html">&lt;p&gt;A1713814: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Projects]]&lt;br /&gt;
[[Category:Final Year Projects]]&lt;br /&gt;
[[Category:2020s2|7311]]&lt;br /&gt;
Autonomous multi-agent system is the driving force in the advancement of industries with numerous real-life applications, including robotics and disaster rescue operations.  It has been demonstrated that a team of three degrees of freedom (3-DoF) kinematic software agents can achieve multiple synchronised goals in a simulation environment without prior planning using a decentralised online learning algorithm and through performing dynamic agent-target assignments. The goals relate to logistical concepts that are widely useful such as achieving simultaneous arrival time at multiple-goal locations, adhering to pre-specified terminal arrival angles and being able to avoid obstacles.&lt;br /&gt;
&lt;br /&gt;
The objective of this project is to develop this algorithm prototype from software into a hardware demonstration where the agents retain the decentralised approach, through on-board processing and communicate with each other in a relatively sparse manner to accomplish the objectives.&lt;br /&gt;
The project will develop a technology demonstrator for cooperative multi-agent system to achieve multiple synchronised goals. For development and testing, an algorithm prototype (written in Matlab) will be provided. TurtleBots will be used. The robot is equipped with LiDAR, on-board processor and associated hardware, and supported by a range of robot operating system (ROS) packages and a Wi-Fi Ad Hoc network. &lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
=== Project team ===&lt;br /&gt;
==== Project students ====&lt;br /&gt;
* Petrus Kotze&lt;br /&gt;
* Sinuo Wang&lt;br /&gt;
==== Supervisors ====&lt;br /&gt;
* Cheng-Chew Lim&lt;br /&gt;
* Duong Duc Nguyen&lt;br /&gt;
==== Advisors ====&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* The objective of this project is to develop this algorithm prototype from software into a hardware demonstration where the agents retain the decentralised approach, through on-board processing and communicate with each other in a relatively sparse manner to accomplish the objectives.&lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
=== Topic 1 ===&lt;br /&gt;
&lt;br /&gt;
== Method ==&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[1] ...&lt;br /&gt;
&lt;br /&gt;
[2] ...&lt;/div&gt;</summary>
		<author><name>A1713814</name></author>
		
	</entry>
</feed>