Tutorials

Finding optimal number of Clusters by using Cluster validation

This module finds the optimal number of components (number of clusters) for a given dataset. In order to find the optimal number of components for, first we used k-means algorithm with a different number of clusters, starting from 1 to a fixed max number. Then we checked the cluster validity by deploying \( C-index \) algorithm and […]

Finding optimal number of Clusters by using Cluster validation Read More »

Finding roll, pitch yaw from 3X3 rotation matrix with Eigen

 

Finding roll, pitch yaw from 3X3 rotation matrix with Eigen Read More »

Roll, pitch, yaw using Eigen and KDL Frame

 

From Eigen documentation: If you are working with OpenGL 4×4 matrices then Affine3f and Affine3d are what you want. Since Eigen defaults to column-major storage, you can directly use the Transform::data()  method to pass your transformation matrix to OpenGL. construct a Transform:

or like this:

But note that unfortunately, because of

Roll, pitch, yaw using Eigen and KDL Frame Read More »

Gaussian Mixture Regression

Gaussian Mixture Regression is basically Multivariate normal distribution with Conditional distribution. The more about the theory could be found at  [1], [2], [3], [4]. For this work, I have added the functionality of adding Gaussian Mixture Regression to this project on the GitHub by forking the main project, my forked project can be download at here Github The main changes

Gaussian Mixture Regression Read More »

Expectation Maximization algorithm to obtain Gaussian mixture models for ROS

I found a really good code at GitHub for fitting a Gaussian Mixture Model (GMM) with Expectation Maximization (EM) for ROS. There are so many parameters that you can change. Some of the most important ones are:

To find the optimal number of components, it uses Bayesian information criterion (BIC). There are other methods to find

Expectation Maximization algorithm to obtain Gaussian mixture models for ROS Read More »

Human detection on mobile camera using HOG and tracking them using Kalman filter

This is the part I of the work that I did for my master thesis (part II). In this work first, I computed HOG (Histogram of oriented gradients) on my images and then sent the computed histogram to a linear SVM (support vector machine). The SVM was trained with human and non-human images. The output of the classifier was

Human detection on mobile camera using HOG and tracking them using Kalman filter Read More »

Ackermann steering car robot model with simulation in Gazebo

Most of the wheeled robots in ROS use move_base to move the robot. move_base geometry model is based on differential drive which basically transforms a velocity command (twist message) into a command for rotating the left and the right wheels at a different speed which enable the car to turn into the right or left or goes straight. But cars

Ackermann steering car robot model with simulation in Gazebo Read More »

Docker

Installation Please visit the official documentation page but do not forget to add the permission problem:

Docker image If the image doesn’t exist it will pull it from hub.docker.com Basically, it runs the pull command beforehand:

for instance, to install Ubuntu 20.04

to check the version, just run:

To see available

Docker Read More »