Artificial Intelligence Tips


Path Planning

Path Planning is computational problem to find a sequence of valid configurations that moves the object from the source to destination. One example is the Rapidly-exploring Random Trees (RRT)


RRT

In essence, an RRT planner searches for a path froman initial state to a goal state by expanding a searchtree. First, an extend function calculates a new state that can be reached from the target state by some incremental distance. If a collision with an obstacle in the environment would occur by moving to that new state, then a default value of type state is returned to capture the fact that there is no “successor” statedue to the obstacle. In general, any heuristic methods suitable for control of the robot can be used here. The heuristic just neet to detect when a state would hit the robot, however, the better the heuristic,the fewer nodes the planner will need to expand on average. Next, the algorithm provide an estimate of the time or distance that estimates how long repeated application would take to reach the goal. Finally, returns a state drawn uniformly from the state space of the environment.


Decision Making

Decision Making (DM) is one of basic blocks of soccer robot navigation system. DM analyses the current state of the world model and makes decisions about new positions of robots, for example.

Behavior tree

BT is goal oriented. Each tree is assigned a goal, that will be achieved. The robot behavior is a control law that satisfies a set of constraints to achieve a particular goal. Each behavior is defined by the set of actions. BTs perform a number of artificial intelligence (AI) techniques such as Finite State Machines, Scheduling, Planning, and Action Execution. A BT enables modularity, making states nested within each other and thus forming a tree-like structure, and restricting transitions to only these nested states. The root node branches down to the tree until the leaf nodes are achieved. BT replace th egrowing mess of state transitions of finite state machines (FSMs) with a more restrictive but also more structured traversal defining approach. Because of this, BTs easily define complex states.





Computer Vision


Multi-Object Filter

The mainly purpose of a Multi-Object is avoid multiple objects with the same ID being tracked by the vision system. This is a commonly problem when the system uses more than one camera or the color segmentation creates more than one object to the same color pattern. So, the real application of this filter is unify objects with same ID.

Noise Filter

The Noise Filter aims to avoid "ghost objects" which can appear due problems in color segmentation. This filter presents a resistence to new objects, maintaining the map with same quantity of objects. To implement this filter, it is possible to use a timer, verifying if the object cotinue existing after a time window. Other aproach uses a counter and every frame where the object appears, one point is added to a confidency counter.

Loss Filter

The Loss Filter aims to avoid deactivate objects which desappear during small amount of thime due problems in color segmentation caused by shadows or light modification. This filter presents a persistence to objects that already exists in the system. With him, even if an object disappears, it is possible to continue tracking its position using the Kalman Filter.



WARNING: The algorithms and solutions described are considerable simple and works as examples for first studies. It is recomended an deeper research in other solution to create a competitive team.


More information in VSS AI and VSS Vision