Lesson Outlines
1st Semester
Embedded Systems (R101)
The aim of this course is to introduce students to the basic technologies of Embedded Systems, emphasizing their practical applications to robotics. The course focuses both on hardware and on software tools, and apart from its theoretical dimension, it also features a rich laboratory content. It prepares students to be able to respond to basic design requirements of Embedded Systems, for controlling automated systems, using widely spread platforms, like Arduino and Raspberry Pi. The lab part of the course introduces students to developing embedded systems applications of scaling difficulty, using Arduino and Raspberry Pi. Students familiarize themselves in handling digital and analog signals, sensors, digital displays, motors, servos and are gradually led to the integration of a complete autonomously moving robot.
Introduction to Robotics and Automation (R102)
The main goal of this lesson is to introduce the fundamental concepts of control systems and robotics to students. Students learn the basic notions of classical linear control systems, focusing on SISO plants, and become acquainted with transfer functions and control methodologies such as pole placement and PID control. Regarding robotics, an overview of robot mechanisms, dynamics, kinematics, control and motion planning is provided. Students also familiarize themselves with the MATLAB tool box for control systems and robotics packages. Finally, students have the opportunity to learn how to program a Kawasaki robotic arm.
Design and Simulation of Robotic Systems (R103)
The main goal of this lesson is to introduce the fundamental concepts of robot design, simulation and development. Students learn the basic notions of robotic software and hardware design. During the lesson, a detailed presentation of Robot Operating System and Gazebo is provided. Students are given an introduction to the main concepts of ROS, to several ROS commands and utilities, to ROS programming, robot design and simulation and finally to SLAM and navigation. During the lesson, all students experiment and build their own mobile robots using xacro and URDF, add actuators and sensors, design the related controllers, familiarize themselves with rziv, program the robots using python and view them inside a virtual world in Gazebo.
Robotic Vision (R104)
The course introduces students to the basic principles of machine vision, the basic algorithms for extracting and matching point features, and the basic principles of three-dimensional representation and extraction of object depth. It deepens the principles of image analysis, which are used in autonomous navigation and object recognition.
2nd Semester
Autonomous Mobile Robots (R201)
Locomotion of autonomous robots (bipeds and four-legged robots, wheeled robots, types and configuration of various wheels). Kinematics of autonomous systems. Pose representation. Forwards and inverse kinematic problem. Sensors in autonomous systems. Inertial measurement units. Odometry. Vision sensors. Stereo vision. Feature extraction and feature tracking. Localization and mapping. The role of the Kalman Filter. Simultaneous Localization and Mapping. Path planning and obstacle avoidance.
Machine Intelligence (R202)
The purpose of this course is to introduce students to the basic operation and implementation principles of intelligent systems and especially machine learning and machine intelligence systems. A variety of computational intelligence methods and techniques is analyzed, for solving difficult search and optimization problems. Also models and methods for system control, behavior learning and reproduction, classification, materialization of cognitive models, and automated adaptation of systems to dynamic environments are also discussed. The course focuses on methods of Evolutionary Computation, Fuzzy Systems, and Neural Networks and emphasizes in their implementation to robotic applications. The course includes Laboratory Exercises where machine intelligence methods are applied on classification, optimization and decision making problems mainly from the field of robotics.
High Performance Computing (FPGAs, DSPs, GPUs) (R203)
Introduction to FPGA devices. Design flow with EDA tools.
Hardware description languages (VHDL) with laboratory exercises.
Implementation of controllers and filters using VHDL. Implementation of video processing acceleration in FPGAs.
Introduction to CUDA programming. DSP processors and their applications.
Virtual Reality and Computer Graphics (R204)
The course is designed to provide students with knowledge of graphics hardware and software used in game and movie production, while practicing OpenGL techniques. Students will also understand and be able to apply current and future technologies for evaluating, implementing and operating virtual and/or augmented reality environments, as well as 3D interfaces based on physical interaction devices.