OpenCV Installation

opencv-ubuntu

This post covers the steps to compile OpenCV from source for developing applications in Python and C++, which will work for most of the image processing and computer vision tasks. I have tried to explain the dependencies required based on functionality and features you want to enable in the final OpenCV installation.

Continue reading “OpenCV Installation”

Compile OpenCV with GStreamer support in Windows

cropped-ocv_gst2.png

If you are trying to build an OpenCV application which uses GStreamer for video-processing, then you need to compile OpenCV from source with GStreamer support. This is easier in Linux, where you can install GStreamer libraries and plugins, and compile OpenCV with with_gstreamer option enabled to get your job done. But in windows, this becomes trickier as the with_gstreamer option is permanently off in OpenCV CMakeFile.

So, to successfully compile OpenCV with GStreamer support on Windows platform, you need to edit some cmakefiles so that CMake can find the GStreamer libraries necessary to generate the proper solution for compilation. Here it goes…… Continue reading “Compile OpenCV with GStreamer support in Windows”

Inverse kinematics solution of a robotic arm using ML

In this post, the inverse kinematics modelling is performed for 2-DOF and 3-DOF (Degrees of Freedom) robotic manipulators. Two intelligent methods, namely Artificial Neural Networks (ANN) and Support Vector Regression (SVR) are used for modelling. The problems in finding the inverse kinematic solutions are discussed and how the dataset for ANN and SVR is prepared from forward kinematics equations. At last, the performance of these techniques is compared with each other.

What is Forward and Inverse Kinematics?

The kinematics of a robot manipulator describes the relationship between the motion of the joints of the manipulator and the resulting motion of the rigid bodies which form the robot. The forward kinematics of a robot determines the configuration of the end-effector (the gripper or tool mounted on the end of the robot) given the relative configurations of each pair of adjacent links of the robot. Inverse kinematics refers to the use of the kinematics equations of a robot to determine the joint parameters that provide a desired position of the end-effector.

Continue reading “Inverse kinematics solution of a robotic arm using ML”

Computer Vision Guided Autonomous Navigation

Controlled navigation of autonomous robots is one of the benchmark problems of robotics. To correctly navigate in a defined space, a robot needs to localize itself (acquire its location in the given space) and then control its position dynamically while traversing to the desired goal or following the desired trajectory. A robot can do this in one of two ways:

  • Using on-board sensors like lidar, encoders and cameras to locate itself by identifying the external environment,
  • Or using information provided by the external devices that continually track its location.

So we used the second method to detect and track the indoor robot using the information from the indoor security cameras.

The setup consists of:

  1. A camera capable of streaming video
  2. A system processing the acquired images using algorithms in OpenCV
  3. Micro-controller and motor driver circuit to drive the robot
  4. Xbee transmitter and receiver for wireless communication between the system and the robot

Continue reading “Computer Vision Guided Autonomous Navigation”