Saltar a contenido

Curriculum

Below you will find the proposed order of tutorials and exercises for the robotics section of the From-Code-to-Robot project.

0. Basics

This package contains some tutorials explaining how to use basic Matlab functions. Understanding these concepts is crucial for the following parts of the Robotics tutorial.

Matrix Manipulation

This tutorial explains how to setup and use matrices in MATLAB.

Symbolic Math Toolbox

This tutorial explains how to use symbolic variables in MATLAB.

Structures

This tutorial illustrates how to access different elements of a structure and how to work with them.

Cells

This tutorial illustrates how to access different elements of a cell and how to work with them.

This tutorial explains the basics of Simulink

1. Modelling

This package explains the basics modelling a robot with the Robotic System Toolbox. It contains Tutorials to understand the concepts using the Symbolic Toolbox.

Transforms

This tutorial explains what a translation and rotation is, how they can be expressed in vectors and matrices and their combination as a homogeneous transform matrix. Additionally different rotation representations are explained.

Exercise 1.1 - Find the Transforms

In this exercise you will need to find different transformations to describe the relative pose of two frames.

Modelling with the Robotic System Toolbox

This tutorial explains how to setup a robot using the Robotic System Toolbox.

Exercise 1.2 - Modeling of a Robot

In this exercise you will setup a Universal Robot using the Robotic System Toolbox.

Exercise 1.3 - Find the DH parameters

In this exercise you will compute the DH parameters for an arbitrary robot manipulator and set it up using the Robotic System Toolbox

2. Kinematics

This package explains the relations between joint angles and resulting pose of endeffectors. Using this knowlege you will compute required joint angles for a desired pose and trajectories to move the joints in a controlled manner.

Forward Kinematics

This tutorial explains how to compute the resulting transformation of a manipulator given a joint configuration on the example of a Universal UR3.

Exercise 2.1 - Forward Kinematics

In this exercise you will compute the resulting transform for a given configuration using the Symbolic Toolbox and the Robotic System Toolbox.

Inverse Kinematics

This tutorial explains how to compute one or multiple solutions to the question, what joint angles are required to achieve a desired transformation.

Exercise 2.2 - Inverse Kinematic Planar Arms

In this exercise you will compute the inverse kinematic solutions for simple planar robots.

Exercise 2.3 - Inverse Kinematic Anthropomorpic arm with Spherical Wrist

In this exercise you will compute the analytical inverse kinematic solutions for an Anthropomorpic arm with Spherical Wrist using the techniques explained in the tutorial.

Joint Space Trajectory Planning

This tutorial explains how to compute a trajectory from one joint state to another using specific velocity profiles.

Exercise 2.4 - Joint Space Trajectory Planning

In this tutorial you will setup different functions to compute trajectories for single joint and complete manipulators. You will adjust the functions to fulfill specific requirements.

3. Differential Kinematics

This package explains the relation between joint velocities and cartesian velocities of the endeffector. Building on this knowlege you will learn how to setup a numerical inverse kinematic algorithm and learn about the manipulability of robots and what challanges occure.

Jacobians

This tutorial explains the computations of geometric and analytical Jacobian matrix using the Symbolic Toolbox. Additionally you will learn how to utilize the Robotic System Toolbox for the computations.

Manipulability

This tutorial explains if and with how much efford a robot can move in specific configurations. It will explain the concept of singularities and redundancy and showcase some examples in Rviz.

Exercise 3.1 - Jacobian

In this exercise you will setup functions to symbolically compute the geometric and analytical jacobians and calculate the required joint speeds to achieve a specific motion. You will visualize this motion in Rviz and will analyze how the manipulability and joint speeds change when being near a singular configuration.

Inverse Kinematic Algorithm

This tutorial explains two approaches on how to utilize the jacobians to setup a numerical inverse kinematic algorithm.

Exercise 3.2 - Inverse Kinematic Algorithm

In this exercise you will setup the pseudo inverse kinematic algorithm and analyze the convergence and error it procudes. You will use quaternions to compute the orientation error using the analytical jacobian.

Exercise 3.3 - Velocity Teleoperation

In this exercise you will simulate a robot and controll the endeffector with your keyboard by computing the required joint speeds.

4. Dynamcis

This package explains the relation between joint states, - speeds and - torques using the lagrange formulation. You will also learn how to estimate parameters of your robot given sufficient testing data, this allows you to approximate e.g. the weight or inertia matrices of your robot maipulator.

Dynamics Lagrange Formulation

This tutorial will explain what the different terms of the lagrange formulation are and how they are computed using the Symbolic Toolbox and the Robotic System Toolbox. Additionally a technique for the identification of linear dynamic parameters is presented.

Exercise 4.1 - Dynamic Term Computations

In this exercise you will setup functions to calculate the different terms of the lagrange formulation for an arbitrary manipulator using the symbolic toolbox.

Exercise 4.2 - Effort-Based Control using the Dynamic Model

In this exercise you will control a ur3e robot to hold a weight in different configurations using the physics simulation engine gazebo. You will compute the required joint torques to hold a weight using the lagrange formulation.

5. Control

This package explains differnet approaches to robotic control algorithms. E.g. centeralized and decenteralized control schemes.

Control Schemes

This tutorial explains the basic ideas behind different control schemes.

In this exercise you will control a threelink manipulator using an inverse dynamic algorithm. You will setup a control scheme in simulink using the symbolic matrtices you have computed in Exercise 4.1 and compute more efficient matrices to reduce the compuational load.

In this exercise you will control a threelink manipulator using torque control and set up a PD control scheme that is augmented with additional terms theouout the exercise. Resulting in a PID+Gravity compensation

Exercise 5.3 - UR effort control using Robotic System Toolbox

In this exercise you will control a UR robot of your choice, using an inverse dynamic control scheme by utilizing the simulink blocks of the Robotic System Toolbox.

Exercise 5.4 - Universal Robots in task space using velocity control

In this exercise you will control a UR robot in task space using an inverse jacobian scheme.

Exercise 5.5 - Universal Robots in task space using effort control

In this exercise you will control a UR robot in task space using a centralized and decentralized scheme.

6. Capstone Project

Now you will combine your work from the Computer Vision and AI with your robotics knowledge, to detect and track a fruit and use it to teleoperate the robot.