Anirban's Data-Science Profile
My name is Anirban Sinha. I am persuing PhD in Robotics from Stony Brook University, New York. Robotics and machine learning are my two key areas of interests.
Python, C++, Linux, git, PyTorch, C++ python wrapper, Robot Operating System (ROS), Matlab, Mathematica, OpenCV, OpenRAVE
I have worked as software intern in Auris Health Robotics in summer 2018 and contributed to software release version URO-2.1.2. My project was involved in writing publisher and subscriber codes using RTI Python Connector to collect vision and electromagnetic field information.
Machine learning is a fast growing field and helping people from engineering, robotics, computer science, medicines back grounds. This page is dedicated to different machine learning projects that I have done so far and those which are on going. Here I will provide highlights of each the project and associated github
link. Some of these projects are research project and some are course projects.
The project focuses on the control of a mobile robot that intends to go from a given initial position to a desired goal position. The robt has to generate a path from initial to final position while avoiding obstacles simulteneously. The robot here is considered as a point mass robot.
Evolution of cost in Value-Iteration
Figure above shows, how a robot uses partially observable states to reach from start to goal while avoiding the obstacles
Least Absolute Shrinkage and Selection Operator or LASSO is a regression method, highly used in Machine learning community for determining important features when number of features are lot more than needed. We have solved LASSO regression problem using synthetic data that finds only 10 important features out of 80 given features that are required to predict correct targets reliably. In short, LASSO regression helps to obtain sparse solution whenever possible. Use have used popular coordinate descent algorithm to minimize the convex loss function of LASSO.
This project is associated to binary classification problem using SVM with Quadratic Programming as optimization algorithm. We solve the classification problem in two different ways, first by optimizing the primal formulation of SVM and secondly by solving the dual formulation of SVM. We checked whether both ways provide same solution to validate correctness of the implementation. We also tried to understand how to select a good threshold to find support vectors from the solution provided by quadratic programming.
Here we use SVM to detect human upper bodies in TV series The Big Bang Theory. To train such a classifier with SVM we need a set of images with bounding boxes of the upper bodies (data). Positive training data are image patches extracted at the annotated locations whereas negetive training data are any image patch that does not significantly overlap with the annotated upper bodies. Thus number of negetive training examples are many more than that of positive examples. However it is not possible to use all negetive examples at a time because of memory limitation. To counter this problem we can use hard negetive mining to find hardest negetive examples and iteratively train an SVM. Expected output of this project is, given an image detect upper human bodies with a rectangular box with scores mentioned at the top-left.
In this project we want to classify different species of Iris flowers from Iris-dataset. This data-set is highly nonlinear and hence can not be classified with linear classifier. We have introduced a three layer (1 input+ 1 hidden + 1 output) neural net which are fully connected to build the classifier. We have developed the model using PyTorch’s torch.nn
module. Our model was able to predict correct labels with 99% accuracy on test data. We have also computed confusion matrix to better visualize the prediction pattern of the model.
In this project we synthesized a nonlinear system-state-observer for two single-input-single-output nonlinear systems. We use neural network to capture nonlinearity of the observer. No linearity with respect to the unknown system parameters is required for the designed observer. The observer stability and boundedness of the state estimates and NN weights are proven. In order to show the effectiveness of the proposed observer, two simulations are carried out. First we modeled NN based observer for a single-link robot, rotating in vertical plane with two sets of example data sets to train the NN embeded into the observer. The second observer is designed for Van der Pol oscillator. For the single-link observer, tests are performed with no-noise training data set and with noisy dataset as well. It has been observed that NN based observer learned more accurately and faster from the no-noise data set as compared to noisy data set which leads to longer learning time.
This is a byproduct project which I carried out to perform visual servoing of robot manipulators. In this project I showed how to integrate OpenCV, ROS and Baxter-SDK to track pose of an object (tagged with aruco markers) through an external and eventually passing that information to Baxter robot to plan a trajectory for grasping the object and put it back to a stacking basket. However just tracking the object requires a non-trivial amount of work if you are starting from scratch. The figure shows that an object is tagged with an Aruco maker and being tracked by aruco_ros
package. One can get the pose (format: x,y,z,qx,qy,qz,qw) information by simply subscribing the topic called /usb_cam/pose
. There are many tracking algorithm out there but very few of them provides pose information and work fast as aruco.
[1] A precessing and nutating beam with a tip mass, Mechanics Research Commmunications, October 2013
[2] Guided wave based crack detection in turbine blades, Fourth International Congress on Computational Mechanics and Simulation, December 2012
[3] The stability of a precessing and nutating viscoelastic beam with a tip mass, 12th International Conference on Vibration Problems, 2015
[4] Robust positioning of redundant manipulators under actuation uncertainty, Northeastern Robotics Colloquium at Rutgers, October 2018
[5] Geometric Search based Inverse Kinematics for 7-DoF Redundant Manipulators with Joint Offsets, IEEE International Conference on Robotics and Automation, 2019 (submitted)
[6] Kinematics Based Motion Planning using Complementarity Constraint for Obstacle Avoidance, IEEE Transactions on Robotics and Automation, (submitted)
Feel free to reach me on Linkedin