Explicit Representation of the Orientation: Exponential Coordinates

Explicit Representation of the Orientation: Exponential Coordinates

In the previous lesson, we became familiar with rotation matrices, and we saw that the nine-dimensional space of rotation matrices subject to six constraints (three unit norm constraints and three orthogonality constraints) could be used to implicitly represent the three-dimensional space of orientations. There are also methods to express the orientation with a minimum number of parameters (three in three-dimensional space). Exponential coordinates that define an axis of rotation and the angle rotated about that axis, the three-parameter Euler angles, the three-parameter roll-pitch-yaw angles, the Cayley-Rodrigues parameters, and the unit quaternions (use four variables subject to one constraint) are some of…
Read More
Implicit Representation of the Orientation: a Rotation Matrix

Implicit Representation of the Orientation: a Rotation Matrix

In the previous lesson, we became familiar with the concept of the configuration for the robots, and we saw that the configuration of a robot could be expressed by the pair (R,p) in which R is the rotation matrix that implicitly represents the orientation of the body frame with respect to the reference frame and p is the position of the origin of the body frame relative to the space frame. In this lesson, we will focus on the orientation, and we will see that we can implicitly represent the orientation using powerful tools named rotation matrices, and we will…
Read More
Fundamentals of Robot Motions: Configurations (Introduction)

Fundamentals of Robot Motions: Configurations (Introduction)

This post is part one of the series of lessons on the fundamentals necessary to represent the robot's configuration, and it gives an introduction to what we mean when we are talking about representing a robot's configuration. In previous lessons, we learned that the robot's configuration answers the question of where the robot is, and we saw that there are two ways to represent the robot's configuration: Implicit representation, where the configuration is represented by embedding the curved space in higher-dimensional Euclidean space subject to constraints and explicit representation where configuration is represented with a minimum number of coordinates. You…
Read More
Fundamentals of Robot Motions: Preliminaries

Fundamentals of Robot Motions: Preliminaries

This post and the coming posts will be focused on the necessary tools needed to express the robot motions. In this post, you will become familiarized with the preliminaries and prerequisites needed before jumping into the main topics. For the full comprehension of the Fundamentals of Robot Motions and the necessary tools to express motion in robotics, please also read all the lessons in the following link (some lessons will be added later): https://www.mecharithm.com/category/fundamentals-of-robotics/fundamentals-of-robot-motions/ When we talk about robot motions, we will need fundamentals such as the representations of configurations, velocities, and forces that cause the motions. In this post…
Read More
The Future with Robots, AI, and Automation

The Future with Robots, AI, and Automation

Are you afraid that you lose your job to a robot, AI, or automation? Do you have questions about what the future will be like with current advances in technology? Do you concern about ethics when robots enter our world? If you have any of these questions, do not forget to watch Dr. Madi's discussion with the Roboticist, Michael Overstreet, on his YouTube Channel: https://www.youtube.com/watch?v=2kY8vlPv6qg Download the discussion presentation HERE! Download the free PDF of the talk containing more examples and an appendix of the professions and the degree to which they are susceptible to automation HERE. Do not forget…
Read More
Task Space and Workspace for Robots

Task Space and Workspace for Robots

In this post, you will learn about the task space and workspace for robots and understand their difference with the robot's C-space. You can find a comprehensive post about the C-space of the robot HERE. ⚠️ This post also has a video version that complements the reading. Our suggestion is to watch the video and then read the reading for a deeper understanding. We saw before that the robot's C-space is the space of all possible configurations of a robot. But what does task space and workspace mean for robots? If you want to learn about task space and workspace,…
Read More
Holonomic vs. Nonholonomic Constraints for Robots

Holonomic vs. Nonholonomic Constraints for Robots

In this post, you will learn that holonomic or configuration constraints reduce the degrees of freedom (dofs) of a robot, whereas nonholonomic constraints reduce the space of possible velocities. ⚠️ This post also has a video version that complements the reading. Our suggestion is to watch the video and then read the reading for a deeper understanding. Holonomic (Configuration) Constraints for Robots Let’s see this with an example. Remember our famous 4-bar linkage with one degree of freedom? If you do not, please refer to this lesson. For now, consider a 4-bar linkage that has 4 links (ground is a…
Read More
Fundamentals of Robotics: Introduction

Fundamentals of Robotics: Introduction

This is the first post of the series of Fundamentals of Robotics course that provides an introduction to the course and some introductory remarks on Robotics. The course will cover all the fundamentals of robotics, including kinematics, mechanics, planning, and control. This course is needed because, in most robotics classes, only part of the fundamentals are covered, and advanced topics such as planning and control are usually neglected. To learn robotics efficiently, all of these topics should be covered in tandem, and neglecting each part will hinder the learning. We will use free robot simulators to implement most of the…
Read More
Implementing Dynamics and Control of a Quadrotor in MATLAB

Implementing Dynamics and Control of a Quadrotor in MATLAB

In this post, we will implement the dynamics and control of a quadrotor in MATLAB and Simulink. Stabilizing and tracking controllers are simulated and implemented on Quadcopter. A square trajectory is specified for the tracking controller. The reference of the simulation equations is the paper "Modeling and control of quadcopter" by Teppo Luukkonen. You can download the paper HERE! It has a table of values that we will use for the simulation. Objective: Simulation of Dynamics and Control of a Quadrotor in MATLAB and Simulink The objective is to implement a simulation of the quadcopter dynamics by implementing the equations…
Read More
Computed Torque Control of a 3R Robot Arm Playing Ping Pong

Computed Torque Control of a 3R Robot Arm Playing Ping Pong

In this post, you will find the MATLAB and Simulink codes for equations of motions of a 3R (3 revolute joints) robot, Computed Torque Control of the 3R robot arm in joint and task spaces, and the 3R robot arm playing Ping Pong. Suppose we have a 3R robot arm with 3 revolute joints pictured in the figure below: Fig. 1. A 3R (3 revolute joints) Serial Manipulator Robot The following problems are going to deal with the simulations of the equations of motion of this robot using the Lagrange-Euler method, Computed Torque Control (CTC) of the 3R robot in…
Read More