Robotic Simulator: Adding Other Features [Particle Effects plus Voice] (7/27)

Robotic Simulator: Adding Other Features [Particle Effects plus Voice] (7/27)

In the previous lesson, we examined the components of physics and their applications in Unity. In this lesson, we will learn about the particle system and its applications and how to add sound to the environment and objects in our simulator. We are going to learn how to import different content from common Unity engine sources. Important: Robotic Simulator's Source Code and Sample Output: The source code for the entire tutorials (from 1 to 27) can be downloaded HERE! And a test output for Windows can be downloaded HERE! You can easily get output for macOS by installing and running…
Read More
Robotic Simulator: Physics in Unity (6/27)

Robotic Simulator: Physics in Unity (6/27)

In the previous lesson, we learned how to insert a 3D model into the Unity engine. In this lesson, we will examine one of the most important and widely used Unity components. The components related to physics and their application in the simulator are the main focus of this lesson. Important: Robotic Simulator's Source Code and Sample Output: The source code for the entire tutorials (from 1 to 27) can be downloaded HERE! And a test output for Windows can be downloaded HERE! You can easily get output for macOS by installing and running the source code on macOS. Watch…
Read More
Robotic Simulator: Adding 2D/3D Objects into the Project (5/27)

Robotic Simulator: Adding 2D/3D Objects into the Project (5/27)

In the previous lesson, we learned how to make the robotic simulator environment suitable for all types of lighting on the Unity engine. In this lesson, we will learn how to import a variety of 3D models from various sources such as the Unity store and popular sites such as SketchUp into the Unity engine. Important: Robotic Simulator's Source Code and Sample Output: The source code for the entire tutorials (from 1 to 27) can be downloaded HERE! And a test output for Windows can be downloaded HERE! You can easily get output for macOS by installing and running the…
Read More
Robotic Simulator: Lighting (4/27)

Robotic Simulator: Lighting (4/27)

In the previous lesson, we learned how to create land, design natural features, paint and insert plants and trees into our scene. In this lesson, we will learn how to illuminate our simulator environment using different types of lights available on the Unity engine. We will understand how to create shadows, change colors, and different kinds of spot and collective light. Important: Robotic Simulator's Source Code and Sample Output: The source code for the entire tutorials (from 1 to 27) can be downloaded HERE! And a test output for Windows can be downloaded HERE! You can easily get output for…
Read More
Robotic Simulator: Creating a New Scene with Terrain Design (3/27)

Robotic Simulator: Creating a New Scene with Terrain Design (3/27)

In the previous lesson, we learned how to download and install the Unity engine and its modules. In this lesson, we will learn how to build, and design natural features such as mountains, hills, and rivers, paint and insert trees and plants on the ground for our simulator. A view of designing a terrain for the robotic simulator on Unity. Important: Robotic Simulator's Source Code and Sample Output: The source code for the entire tutorials (from 1 to 27) can be downloaded HERE! And a test output for Windows can be downloaded HERE! You can easily get output for macOS…
Read More
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
Configuration and Configuration Space (Topology and Representation) of a Robot

Configuration and Configuration Space (Topology and Representation) of a Robot

This is the second lesson on Fundamentals of Robotics, and it will be your guide to know everything you have ever needed to know about the configuration and configuration space (its topology and representation) of a robot. In this lesson, we will talk about the configuration of the robot. Then, the configuration space and topology of the configuration space will be discussed, and finally, we will talk about different ways to represent the configuration space. What is the Configuration of Something? The configuration of something answers the question, where is that thing? For example, to know where a door is,…
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