Robotics By Profession

8+ Years in Robotics & Embedded Systems. 6+ Years in Machine Learning.

Geek By Birth

In my spare time I would like to tinker with most tech stuff, that I could get hands on.

Publications

7 Papers in Internationally recognized publications

Achievements

Sakura Scholarship & Professional Awards received

Education​

M.S. in Computer Science with Specialisation in Robotics and Machine Learning.

Experience

8+ Yrs R&D, Embedded & Robotics, 6Yrs+ in Machine Learning.

Projects

Ranging from Embedded System, Robotics and Machine Learning.

Skill

Software, Hardware, Robotics and Machine Learning

Expertise

Achievements

Silver Medalist in ABB Global Hackaton, 2016

Among 40 teams our proposal for Computer Vision and Machine Learning based Industrial Robot Calibration was awarded.

Silver Medalist in ABB Global Hackaton, 2017

Among 60 teams our proposal for Microsoft HOLO Lens based Industrial Robot Manipulation and Control was awarded.

scholarships

sakura

Sakura Science Scholarship

Hosted at Hiroshima University and Awarded by Government of Japan, 2015

Provided 30+ Hours of Industrial Training on Machine Learning.

0
Awards
0
Publications
0
Yrs Work Exp
1
Projects

Life so far

Experience

2023 - Present

Project Manager

2022 - 2023

Team Lead

2021 - 2022

Sr Robotics Engineer

2020 - 2021

Sr Research Scientist for Autopilot development at IIT Kanpur, Aerospace Division

2016 - 2020

Technical Specialist , Machine Learning and Robotics

2011 - 2013

Robotics Engineer: Robotics Software Development, RAPID, Linux and Device Drivers

2010 - 2011

Senior System Software: Android OS development, Linux and Device Drivers Development

2007 - 2010

Senior Software Engineer: Linux , Device Drivers, Bootloaders, Firmware development

2007 - 2007

Design Engineer: Verilog and FPGA development

Education

2013 -2016

M.S by Research in C.S.E
International Institute of Information Technology, Hyderabad
(CGPA: 9.67/10.0)

2004 - 2007

B.Tech in C.S.E
Bharatiya Vidyapeeth College of Engineering, Delhi
(1st Class with Distinction))

Publications

ICVGIP - 2016

Hierarchical Structured Learning for Indoor Autonomous Navigation of Quadcopter

Autonomous navigation of generic monocular quadcopter in the indoor environment requires sophisticated approaches for perception, planning and control. This paper presents a system which enables a miniature quadcopter with a frontal monocular camera to autonomously navigate and explore the unknown indoor environment. Initially, the system estimates dense depth map of the environment from a single video frame using our proposed novel supervised Hierarchical Structured Learning (hsl) technique, which yields both high accuracy levels and better generalization. The proposed hsl approach discretizes the overall depth range into multiple sets. It structures these sets hierarchically and recursively through partitioning the set of classes into two subsets with subsets representing apportioned depth range of the parent set, forming a binary tree. The binary classification method is applied to each internal node of binary tree separately using Support Vector Machine (svm). Whereas, the depth estimation of each pixel of the image starts from the root node in top-down approach, classifying repetitively till it reaches any of the leaf node representing its estimated depth. The generated depth map is provided as an input to Convolutional Neural Network (cnn), which generates flight planning commands.

ICRA - 2016

Plantation Monitoring and Yield Estimation using Autonomous Quadcopter for Precision Agriculture

Recently, quadcopters with their advance sensors and imaging capabilities have become an imperative part of the precision agriculture. In this work, we have described a framework which performs plantation monitoring and yield estimation using the supervised learning approach, while autonomously navigating through an inter-row path of the plantation. The proposed navigation framework assists the quadcopter to follow a sequence of collision-free G P S way points and has been integrated with ROS (Robot Operating System). The trajectory planning and control module of the navigation framework employ convex programming techniques to generate minimum time trajectory between way-points and produces appropriate control inputs for the quadcopter. A new ‘pomegranate dataset’ comprising of plantation surveillance video and annotated frames capturing the varied stages of pomegranate growth along with the navigation framework are being delivered as a part of this work.

IVS - 2015

Overtaking Maneuvers by Non Linear Time Scaling over Reduced Set of Learned Motion Primitives

Overtaking of a vehicle moving on structured roads is one of the most frequent driving behavior. In this work, we have described a Real Time Control System based framework for overtaking maneuver of autonomous vehicles. Proposed framework incorporates Intelligent Planning and Modular control modules. Intelligent Planning module of the framework enables the vehicle to intelligently select the most appropriate behavioral characteristics given the perceived op- erating environment. Subsequently, Modular control module reduces the search space of overtaking trajectories through an SVM based learning approach. These trajectories are then examined for possible future time collision using Velocity Obstacle. It employs non linear time scaling that provides for continuous trajectories in the space of linear and angular velocities to achieve continuous curvature overtaking maneu- vers respecting velocity and acceleration bounds. Further time scaling also can scale velocities to avoid collisions and can compute a time optimal trajectory for the learned behavior. The preliminary results show the appropriateness of our proposed framework in virtual urban environment.

ICRA - 2015

Autonomous Navigation of Generic Monocular Quadcopter in Natural Environment

Autonomous navigation of generic monocular quadcopter in the natural environment requires sophisticated mechanism for perception, planning and control. In this work, we have described a framework which performs perception using monocular camera and generates minimum time collision free trajectory and control for any commercial quadcopter flying through cluttered unknown environment. The proposed framework first utilizes supervised learning approach to es- timate the dense depth map for video stream obtained from frontal monocular camera. This depth map is initially trans- formed into Ego Dynamic Space and subsequently, is used for computing locally traversable way-points utilizing binary integer programming methodology. Finally, trajectory planning and control module employs a convex programming technique to generate collision-free trajectory which follows these way- points and produces appropriate control inputs for the quad- copter. These control inputs are computed from the generated trajectory in each update. Hence, they are applicable to achieve closed-loop control similar to model predictive controller. We have demonstrated the applicability of our system in controlled indoors and in unstructured natural outdoors environment.

ICVES - 2014

Autonomous Navigation of Generic Quadrocopter with Minimum Time Trajectory Planning and Control

The challenges in generating minimum time tra-jectory and control for generic quadrocopter flying through sophisticated and unknown environment are explored in this paper. The proposed method uses convex programming tech- nique to optimize polynomial splines, which are numerically stable for high-order including large number of segments and easily formulated for efficient computation. Moreover, exploiting the differential flatness of system, these polynomial trajectories encode the dynamics and constraints of the vehicle and decouple them from trajectory planning. The framework is fast enough to be performed in real time and results in solution which is close to time optimal. As control inputs are computed from the generated trajectory in each update, they are applicable to achieve closed-loop control similar to model predictive controller.

Robotics platform

Bebop Drone

MS Kinect

LEAP Sensor

ABB IRB 120

ABB IRB 120

AR Drone

TURTLE Bot

MicroSoft HOLO Lens

Husky

ASUS Xtion Pro

ABB Yumi

ABB Yumi

Working on robotics platform

Play Video
Play Video

Hardware platform

Core i5/i7

32bit SOC

32bit SOC

SH4 SOC

Micro Controller

Titan X GPU

Skills

Software Platform

80%
Ubuntu
60%
Mac OS X
50%
Windows
80%
Robot Operating System

Professional Skills

C/C++

60%

Matlab

75%

Python

80%

Robot Operating System

90%

NVIDIA CUDA

60%

UBoot Boot Loaders

75%

Computer VIsion

70%

Machine Learning

75%

OpenCV

70%

Image Processing

75%

Linux Kernel Drivers

60%

Optimization

50%

Machine Learning

80%
Keras
60%
THEANO
60%
Tensor Flow
60%
Matlab

Machine Learning / Computer Vision

Deep Learning

80%

Convolution Neural Networks

80%

Auto Encoders

60%

Support Vector Machine

80%

K-Means Clustering

60%

PCA/LDA

80%

Linear/Logistics Regression

80%

OpenCV 2.0/3/.0

70%

KNN

60%

Programming

80%
C/C++
90%
Python 2.7/3.6
60%
NVIDIA CUDA
50%
LUA
60%
Matlab

ProJects

Drone Autopilot Development

Swarm Drones for Agriculture

Robotic Vacuum Cleaner

Robotic Vacuum Cleaner

LG  , 2023 – Present

Contribution to the Project:

  •  Simultaneous Localization and Planning ( SLAM )  and 3D Map research and development.
  • Prototype development for new features ( Hardware / Software ).

Swarm Drones for Agriculture

Polybee Robotics  ( Singapore Startup ) , 2021 – 2022 

Contribution to the Project:

  • Development of firmware for micro crazily drones 
  • Development of ROS based controller software based on Behaviour Tree Modelling

Drone Autopilot Development

Indian Institute of Technology ( IIT ), Kanpur ( 2021 )

Development of Software for proprietary Autopilot software for Drones based on PX4 software stack

Contribution to the Project:

  • NUTTX  RTOS ecosystem and integration of proprietary algorithms.
  • Device Driver development and integration of hardware. 
. 

Vision Solution for Pick and Place

ABB Robotics (2018-2019)

Pick and place is one of the upcoming domains that is pushing for automation. The vision-based solution was developed using 2D and 3D cameras for specific customer requirements.

Contribution to the Project:
  • Initial Software architecture design and prototype development.
  • Validation of vision algorithms as recommended by the vision team and testing again Project Requirement Specification.
  • Discussion with development and solutions to any limitations/bugs as discovered.
  • Final Code analysis/review of the development team.

Satellite Docking Robotic Validation System

ABB Robotics (2018-2019)

The satellite docking validation system is a project required by an esteem client which wanted to validate algorithms/sensors for satellite docking in space. This was achieved by two ABB IRB6700 robots mounted on 10 meter long conveyor belt. Both robots move towards each other, with motion directed by data received in real time from sensor on each of the robot end actuator and centralized algorithm for docking.

Contribution in the project:
  • Externally Guided Motion (EGM) programming for both IRB6700 and conveyor.
  • ABB Robot Studio based simulation setup design to test system containing the IRB6700 and conveyor motion.
  • Platform for interfacing client satellite docking algorithm with real time motion control using EGM.
  • Coordinate transformation logic (between ABB, sensor and client algorithm) along with robot and conveyor motion management based on algorithm motion commands.

Cognitive Intelligence Robotics

ABB Robotics (2017-2018)

Cognitive intelligence for a robot with understanding of its environment was the focus of the Research project. User interacts with the robot using speech commands which based on the understanding of the environment (objects, actions etc) robot either performs or replies with question. This initial prototype was developed in 5 months with code using NLP, ML and Graph Libraries in Python.

Contribution in the projec:
  • Requirement gathering, Analysis and Software Design of the cognitive system.
  • Design and development of prototype model in Python.
  • Integration of cognitive system with ABB YuMi robot.

Next Generation Robot Platform

ABB Robotics(2012-2013).

The Next Generation Robot Platform Software is one of the most important project which ABB Robotics is executing. This involves discarding legacy Robot Software Platform and creating new Software Platform from scratch which being more Open Source Compliant. It incorporates modular architecture, network security and allows 3rd Party software interfacing. The software is getting developed on Python and C/C++. The project also involves migrating from VxWorks to Linux OS.

My contribution included but not limited to:
  • Design of Robot Software architecture for Software Management.
  • Development of Software module for Robot in Python which handles the Software Installation and Management including security.
  • Development of PC interface to Industrial robot in C# and Python.
  • Linux platform support to other teams in migrating software from VxWork to Linux.
  • Boot time Optimization in new Robot System Software using better System configuration and migrating to UBIFS file system from JFFS. This activity reduced the Boot Time from 24 Sec to 18 Sec.
  • Developed the mechanism and software for updating Linux RFS while in operation. New RAMFS file system is loaded to memory and Linux OS is directed to utilize RAMFS. Once the switch is over, flash is formatted and new updated RFS is programmed.

Renault-Nissan Overtaking Manoeuvre for Autonomous Vehicle

Research(2014-2015).

This sponsored research project by Renault-Nissan focused on developing autonomous overtaking maneuver for vehicles. The project demonstrated the effectiveness of developed algorithm on TORCS and UC/Win simulators. The developed algorithm utilized non-linear time scaling and velocity cone based collision detection. Publication based on the work was accepted in IVS 2015.

Project Included:
  • Multiple candidate trajectories are generated once 
  • The algorithm could predict collision with multiple vehicles in parallel lanes using velocity cone approach while deciding overtaking trajectory.
  • Collision free overtaking trajectory with least change in velocity profile is selected among multiple candidate trajectories.
  • Non-linear time scaling is utilized for generating trajectory for vehicle.
  • Developing C++ interface between developed algorithm and TORCS / UC-Win simulators.

Controlling AR Drone 2.0 through Gesture Recognition using Asus Xtion Pro

Personal Project

AR Drone 2.0 is a commercially available Quad-copter which can be controlled using library provided by Parrot or using AT commands and uses WIFI to transfer the commands to Quad-copter.

In this Experiment Asus Xtion Pro which is OpenNI compliant device is used with NITE middle ware to detect the motion and hand gestures of the user. Once detected ,these are converted to appropriate motion command for the quadcopter.

Project components :
  • Using Asus Xtion Pro and NITE middle-ware solution was developed to detect various hand gestures like UP, Down, WAVE etc.
  • AR Drone 2.0 library was used along with remote control to calculate and calibrate the Quad-copter motion movements. Calibrated values were then converted passed to user program, allowing precise movement of the quadcopter.
  • AR Drone 2.0 control logic was then linked to the hand gestures detected by Asus Xtion Pro, hence allowing drone to be controlled using hand gestures.

Android Development

S.T.Micro Electronics(2010-2011)

In September 2008, an Open Source software platform primarily for smart mobile phones called Android was launched by the Open Handset alliance led by Google. Android is a complete embedded software stack, comprising of a modified Linux based kernel, middleware, application framework and applications. To run Android on their platform, Original Equipment Manufacturers (OEMs) need to make hardware specific changes such as adding the Bootloader and writing kernel drivers for their devices and interfacing the Android stack with hardware platform drivers. STMicro took a strategic decision to move Android from Mobile platform to other Consumer Electric platforms such as SetTop Box and Digital TV.

Responsibilities in the project:
  • Configuring and porting Linux kernel to support Android Framework including drivers. The Android was ported to SH4 (CPU) proprietary platform of STMicro.
  • Interfacing STMicro proprietary media framework HAVANA with Android framework . Android framework was also extended for features supported by Media framework of STMicro.
  • IR Remote(LIRC) interface support was added in Android to allow navigation in absence of touch control in set-top box.
  • Porting Linux debugging and performance monitoring tools to Android eg : Strace , GDB , Valgrind etc.

Navigation in Android using IR Remote(Magic Remote)

Research(2010-2011)

ST Micro decided to port Android to Set-top Box, where we faced a simple problem “How to navigate inside Android without touch screen ?”

As the Set-Top Box was connected to TV set and only interface available for interaction was a normal IR remote . Therefore it was decided to integrate IR set-box remote with Android subsystem allowing seamless experience to the user.

Project milestones :
  • Native Keyboard interface in Android was activated.
  • Support for LIRC was integrated inside Android Linux Kernel.
  • Small keyboard kernel driver was created, which would emulate keyboard commands when IR remote keys data is transferred from user space.
  • Application was written in “C” and embedded in Android framework which would catch the IR commands received from kernel driver and convert them to Keyboard commands.
  • Android in-build keyboard support module detects different key-press events from kernel drivers. Keyboard commands from user space are transferred to keyboard kernel driver. The kernel driver then emulates corresponding keyboard key press events, allowing Android to respond to IR remote.

System Upgrader using Bootloader

N.X.P. Semiconductors(2008-2009)

System upgrade is a tedious task which requires from formatting flash partitions, downloading new image to burning new image into the new system. Mostly in embedded world JTAG is prominently used for accessing ,configuring and formatting the system flash.

Due to high cost of JTAG, it was decided to replace the system upgrader using JTAG with serial port (UART) and USB based updating process.

Project Responsibilities:
  • Development of new Micro Boot loader with XModem support over UART.
  • Developing new version of standard Boot loader with support for upgradation.
  • Developing module in Boot loader to read PFF (Philips File Format) from USB and upgrading the Nand Flash.
  • Design Bootlaoder state machine with GUI feedback for upgradation process.

Secure Boot Optimization in Asymmetric Multiprocessing Embedded System

Research(2008-2009)

Embedded systems require high level of security and authentication in terms of software that runs on the system . Secure Boot is term normally used in systems where at boot time software modules are verified for authenticity before being launched.This is achieved by adding cryptic signature over each software module image and being verified before executing.

Points :
  • Our embedded system, Digital signature based software authentication at boot-up was implemented using AES and SHA1. This requires each software component to verify the digital signature of module it is initiating at startup.
  • The Digital Signature based Secure Boot was implemented in software which being computationally intensive increased the overall boot time of the system.
  • Solution for reducing increased boot time was shifting the computationally intensive operations to GPU processing unit, which had better hardware to handle such task and CPU acting just a coordinator for data flow.
  • The GPU and CPU were able to interact using hardware based Semaphore and thus providing faster Boot time with Secure boot.

Non Nand Flash Memory based Embedded System Development

N.X.P. Semiconductors(2009-2010)

Embedded Systems these days rely on Nand Flash as main storage medium due to its small size , high I/O speed and low power consumption .Nand Flash is mostly available in SLC and MLC configuration where SLC offers more stable operations and MLC data density and cheaper cost.

In our Embedded system we decided to move from SLC Nand Flash to MLC Flash based SD card as main storage. This shift required low level software modification including linux kernel, drivers support and user-space modification.

My responsibilties were, but not limited to:
  • Modifying and configuring boot loader to support SD card
  • Configuring Linux kernel and adding driver support for SD card.
  • Integrated new module in BootLoader to support flashing of SD card with new partition information (MBR) and software binaries in partitions available in PFF(Philips File Format).
  • Developed tools for PC to generate propriety format PFF which contains all the binaries and information which is used by Boot loader to write the SD card with the Software and partition information.
  • Shifting to new File System (EXT4) from bare Nand Flash based (JFFS2) file system.
  • Performance measurements of I/O with new file system .
  • Boot time measurements and optimization with new system.

Development of SD Interface and Supporting Infrastructure

Research(2008-2009).

The Embedded system was designed to operate with Nand Flash but when requirement came to shift the system to SD card Interface as the main Storage medium, Pre-Study work and prototyping was required.

Important points :
  • Micro Boot loader development to support SD card Interface.
  • Linux configuration and SD card driver development .
  • Study of new Partition table management.
  • Modification of Upgradation mechanism of the system to support SD card.
  • Performance and Boot time Bench Marking and Optimization.
My contribution:
  • Linux configuration and RFS modification to support the new interface.
  • Study of Partition table management and implementation proposal in our system.
  • Development of module in boot loader to support new partition table structure (MBR and EBR).
  • Modification of PFF (Philips File Format) structure to support SD card images.
  • Development to tools to generate MBR and EBR tables on the run to be places in the SD card while System Flash updating.
  • Development of Micro Boot Loader and integrating with Micro Controller .
  • Development of Boot loader StateMachine design for upgradation with GUI feedback to user.

Optimizing Boot-Time of Linux Powered Embedded Systems

Research(2009-2010)

Fast Boot in Embedded systems is essential for consumer devices in Mobile, automotive and entertainment markets.

This project “System level” optimization was started with a view of reducing the Boot-Up of current by 50% by optimizing the system boot structure.

Project components :
  • Optimizing the Boot loader configuration to remove any unwanted modules and reducing boot-up time.
  • Next in line was the Linux Kernel configuration where it was concentrated on various services started at boot and segregating them into“What needs to be started Now”and “What can be delayed”.
  • By changing structure of drivers attached to Linux kernel and delaying there loading we were able to reduce the size of kernel image by 10%.
  • Hardware was configured at start up differently to support faster Boot up.

Development of Linux Drivers

N.X.P. Semiconductors(2008-2009)

Embedded Systems are shifting towards Linux as the main Operating System due to Free and Open Source distribution . Linux supports large variety architectures and flexible enough to be used from Micro-processor based systems to Servers. Linux can support variety of hardware devices and configurations thus require drivers support to be added for accessing new hardware devices.

My project responsibilities were:
  • Development and porting of I2C driver from one board to another.
  • Adding support for new I2C buses in the driver with Bug Fixing.
  • Maintaining Nand Flash Driver

Speech Controlled Robot

College Project

This Robotic project idea was conceived in my B.Tech college 3rd year, 2006. We created a Speech controlled robot, which would detect user speech patters, recognize them with pre-trained data and generate appropriate action. This used silicon based voice recognition chip ( HM2007 ) interfaced with 8051 micro-controller.

My role in project :
  • Designing the digital circuit required for the voice recognition chip, its support peripheral chips.
  • Designing, fabricating and testing the PCB at our PCB fabrication lab in college.
  • Designing and testing of motor driving circuit and interface circuit with 8051 micro-controller.
  • Designing of power supply for the circuit (AC to DC) .
  • Programming the 8051c in assembly language to operate the servo motors of robot and receive inputs from HM2007 and control the robot car in predefined manner.
How the System worked :
  • The HM2007 speech recognition chip was programmed to recognize the user speech ( Training mode) commands by button mic connect to it.
  • The HM2007 was then taken to recognition mode using special digital keyboard connected to it.
  • Speech commands while in training mode are saved in NVRAM available on the circuit board connected to the HM2007. These commands are then tagged with unique numbers and provided as output for recognized speech.
  • The output of the speech recognition chip HM2007, which was programmed to receive speech inputs and generate corresponding unique speech detection tags. HM2007 output ports were connected to I/O ports of 8051 microcontroller. Micro controller was programmed to perform predefined operations once unique speech tags are received from HM2007.

peers

Manoj Gupta

Ordinary colleagues come and go but when a special colleague comes by, you just know. I consider myself very fortunate for having a chance to work with an expert of your caliber. Working with you was a great learning experience for me. I really value the knowledge and insight you have.

Siddharth Tourani

Vishakh Duggal is one of the few people I know who is proficient in both robotics related software and hardware. His research focuses on practical robotic solutions for existing problems like precision agriculture and autonomous driving. His experience in product development during his industrial career has frequently placed him in an ideal position to judge next-generation technology and work accordingly. Something shown in his publication record. This expert insight is backed by a routinely updated skill set covering the state-of-the-art in optimization, machine learning, control theory, software design and modern computer architecture. Such a level of skill in both the theoretical and practical comes only with sustained dedicated effort and a passion for his field.

Mohak Sukhwani

I have known Vishakh since summer of 2013. We both have shared many common advance level course projects during our graduation days. His curiousity and his affinity towards learning makes him stand apart. We both have collabrated over many research projects some of which have eventually turned into publications in prestigious conferences. Throughout my association with Vishakh, I found him extremely hard working and diligent. He is a patient listener and an innovative thinker in the group.

K Madhava Krishan

Vishakh Duggal hit the road running as he immediately set out to work on trajectory planning and optimization for quadrotors as soon as he joined us. Ever since his pace and perseverance has only increased as he tackled difficult and complex research problems with aplomb. He is a rare blend of an extremely skilled, creative and meticulous person and certainly the cynosure of all competitive organisations/companies out there

Harsha Turlapati

I have known Mr. Vishakh Duggal since my Sophomore year as an Undergraduate Student Researcher at IIIT Hyderabad. He has been an outstanding source of inspiration to me. Not only has he motivated me to pursue Research with much vigor, but he also made me understand the importance of being self-driven. He is what I would call an “Opportunity Creator”. He opened channels of collaboration with Hiroshima University and IIIT Hyderabad as an attempt to bridge the gap between two fields of research and creating exciting cross-domain research options for the upcoming Researchers at RRC (Robotics Reseach Centre). Not many people in India, being Computer Science Graduates explore the world of Electronics, much less likely, Robotics. Every move he has made in his career has had a purpose of acquiring knowledge – This sets him apart from any person I have known. Apart from being a great mentor, he has been a warm friend. The long chats we had about Robotics all over the world and life in general will always be remembered. I wish him well on his journeys further.

Contact

Vishakh

Tech Specialist (ABB)

Hi there. Feel free to reach me. I'll get back to you asap.