In daily life, the air conditioner is an indispensable household appliance. In large buildings, the central air-conditioning refrigeration system usually requires many pipe connections for air circulation. However, because the air-conditioning ducts are usually very narrow and the structure is complicated, it is very difficult to clean and dredge directly by manpower.
To design a group of robotic agents that can achieve following two tasks:
- Go through a maze based on any given starting point and end point with knowledge of the structure of the maze.
- Distinguish various target using color detection and perform different behaviors based on the classification.
The arena for the whole project is consisting of two parts, which will set different tasks to test the functions of robotic insects. In the first part, a maze is designed to test the performance of pathfinding and obstacle avoidance. To fully tested the performance of robots, we stratify the difficulty by distance, obstacles, branches, blind alleys.
After designing the structure of the maze, we build the maze by hot melt adhesive and hardboards.
In this project, we use ArUco markers to help us with localization.
the position of the agent is also represented by the pose of an ArUco marker. The program will start to run after the initialization of the maze is finished and the agent is found. The sequence will be:
-
Open the external camera.
-
Scan the ArUco Markers in the maze until information of all markers are recorded.
-
Scan the ArUco Markers on the agents.
-
Start running the maze.
The result of the scanned maze is as the following picture shown:
After convert the maze into graph, we can perform Dijkstra algorithm to find the optimal path.
The finite state machine (FSM), or as it is alternatively known, finite state automaton (FSA), state machine (SM), and finite automaton (FA), is a mathematical model is a mathematical model of computation. It is an abstract machine that can be in one and only one state at a given time. A finite state machine is defined by a list of its states, the initial states of the machine, and the inputs that trigger the transition, which is the terminology refers to shifting from one state to another. We will implement the state machine as our main control algorithm.
To define all the states of the agent, it is necessary to consider all the movements it needs. First, the agent needs to include basic movements (i.e., going forward, turn left, turn right) to complete the task of going through the maze. Secondly, for the convenience of later expansion, an intermediate state is needed as a state transfer station. Finally, when multiple agents meet in the maze, an avoidance movement is required. In summary, the states of each agent include:
-
State 0: Start
-
State M: Intermediate state
-
State A: Going forward
-
State B: Turning
-
State C: Avoiding
The state diagram of our agent is shown below: