Programming and Communication of a Robotic Arm
Professors
Prerequisites:
Robotics Basics: Having a basic understanding of robotics concepts, such as the kinematics and dynamics of robotic arms, can be beneficial.
Electronics Fundamentals: Understanding basic electronics concepts such as resistance, voltage, current, and having experience with common electronic components could be essential for working with robotic hardware. Having coding experience on Python or C++.
Pedagogical objectives:
The goal of this STC is to learn the theoretical and practical principles that govern the movement of a robot and how to apply them in simple and programs used in industry. This includes programming simple trajectories in a robotic arm, correcting pre-programmed operations in a robot using frequently used tools in industry—either open-source or brand proprietary—and understanding the different communication strategies that a robot could have with its environment. We will also cover the basic principles of computer vision for robotic arms to perform smart operations with articulated robots.
Evaluation modalities:
A project assignment to perform after the course.
Description:
Know the mathematical principles that govern the movement of a robot and learn to apply them in simple programs.
Learn to program simple trajectories and correct pre-programmed operations in a robot
Know the different types and levels of communication that a robot has with its environment
Acquire the necessary knowledge to carry out low-level communications with sensorised systems. Learn to carry out communications with PLCs, for example Siemens.
- Mathematical and Mechanical Principles of Robot Operation
In this section, we will teach you about the main types of articulated robotic arms and their key differences. We will study the primary components of these robots and the mathematical concepts that govern their movement.
- Communication Languages: Differences in Programming Across Brands
This part will cover the most important communication paradigms used to interface robot controllers with robotic arms in industrial setups. We will discuss their advantages and disadvantages, the types of industries in which they are used, and provide examples. Additionally, we will cover examples on how robots communicate with their control systems.
- Low-Level Programming – Controlling a Robotic Arm with Python and ROS
In this session, we will focus on controlling a robotic arm using the Python programming language. We will translate the knowledge from the first session into Python libraries to control a robotic arm platform in a simulated environment using Gazebo. We will also cover the basics of ROS (Robot Operating System) with robotic arms and compare it with other industrial robotics systems.
- Basics of Computer Vision and Communication with Robotic Arms for Smart Operations
We will cover the fundamentals of classic 2D and 3D computer vision techniques to detect desired patterns in real industrial setups, enabling robotic arms to reach or avoid those patterns. We will also include methods for performing hand-eye calibration so that the robot’s coordinate system is synchronized with the vision systems.
Supervised Lab:
The supervised lab will cover, from a practical perspective, the basics of 2D and 3D computer vision necessary to instruct a robotic arm on how to move to perform certain tasks. For example, to press a button with the arm, you first need to detect where the object you want to reach is in the world. Once we know where the object is, we can cover the principles of hand-eye calibration. The lab will use a simulation environment and Python as the main platforms. In the theory part, the student learned how to move a robotic arm in a given environment. The lab complements this with computer vision so the student will have the basic knowledge to participate in projects that require smart manipulation of objects.
- Basics of 2D Computer Vision:
- Types of 2D representations and how to process them (2 hours) (Python)
- Detecting objects by shape and colour: feature extraction techniques and pixel clustering (4 hours) (Python)
- Exercise to detect objects in 2D images in given industrial scenarios using the acquired knowledge.
- Notion of advanced computer vision: basic theory and interesting cases (1-hour class)
- Basic Principles of 3D Computer Vision:
- Basic types of 3D data and which sensors to use to obtain them (2 hours) (Python)
- Approaches to process 3D data: depth, colour, shape, and orientation (2 hours) (Python)
- Exercise to detect objects in 3D images in given industrial scenarios using the acquired knowledge. Prepare a presentation explaining the approach (homework)
- Basics of Control of Gazebo Simulator or Other Simulation Environment (2 hours)
- Hand-Eye Calibration: Basics and Example (3 hours)
The required material in terms of hardware and software will be provided during the course.
Devices:
- Laboratory-Based Course Structure
- Open-Source Software Requirements