Robotics

Objectives and outcomes

Development of analytical and practical skills in the design of robotic systems based on the principles of artificial intelligence. Students are trained to develop AI-powered robot software. They master the basics of robotics, gain a basic knowledge about the implementation of robotic intelligence, and learn to solve some of the basic problems of robotics by applying appropriate programming languages ​​and solutions.

Lectures

Robots as intelligent agents. Actuators and sensors. Robotic paradigms: hierarchical, reactive and hybrid. Robot interaction with the environment and navigation. Localisation and control points. Determination of position based on objects whose position is known. Determining the position by angle and distance, or by triangulation. GPS (Global Positioning System). Uncertainty in measurement and movement. Mapping. Discrete and continuous maps. Grid map cell contents. Limiting algorithm. Mapping the environment. SLAM algorithm. Navigation based on mapping. Dijkstra’s algorithm for a grid map. Dijkstra algorithm for a continuous map. Path planning using the A* algorithm. Tracking the path and avoiding the obstacle. Digital image processing. Image enhancement. Spatial filters. Use of histograms. Edge and corner detection. Irregularity recognition. Neural networks. Topologies and multilayer topologies. Memory. Spatial filter. Algorithms for training. Implementation of Braintenberg vehicle using neural networks. Machine learning. Distinguishing between two colours. Discriminant based on mean values ​​and variance. Algorithm for distinguishing colours. Perceptron. Determination of slope. Classification using perceptrons. Perceptron parameter setting. Robot collaboration. Coordination through local information exchange. Direct and indirect communication. BeeClust algorithm. ASSISIbf implementation of the BeeClust algorithm. Collaboration based on mutual physical interaction.

Practical classes

Implementation of the basic program that controls the robot. Implementation of a program for processing information from sensors. Implementation of the program that controls the actuators. Adding the elements of reasoning. Implementation of reasoning with uncertainty. Practising the implementation of localisation, search and control of a robot. Preparation for the project.