Welcome to my Career Portfolio

Posted on 12th September, 2009 by Shervin Emami

Below is my portfolio of projects that I have worked on, and the left side menu links to my Draw3D software and Computer Vision programming tutorials. If you are interested in working with me then feel free to email me HERE.

My current Resume / CV is available to download here: Resume.pdf

My Masters thesis in Robotics is available to download here:
'A Framework for the Long-Term Operation of a Mobile Robot via the Internet': MastersThesis.pdf

 
Humanoid robot

Talking Humanoid Robot with the Most Realistic Face in the World

Duration: 4 months full-time (Dec 2008 - April 2009)
Details: Hanson Robotics

I was in charge of getting a new custom-designed 62 Degree-Of-Freedom humanoid robot to perform some basic human motions (including lip-synced speech in English and Arabic) for a public demonstration at the IDEX Defense Expo (Abu Dhabi, Feb 2009).

In the first 6 weeks I had to write the complete USB driver software for state-of-the-art Dynamixel digital servo motors and animation scripts for the highly realistic face, and the neck, arms and fingers, coming to a total of 62 motors.

My work involved debugging the many electrical noise & cabling & power & heat issues in the robot (since the robot had never been tested before), plus writing USB drivers for the new digital servo motors (that it seems noone else in the world had used before), and creating animation scripts to move all 62 motors & speech in synchronisation.

Humanoid hand and soldier

 
Tbot balancing

A Reconfigurable 140kg Balancing Robot for the US Military

Duration: 15 months full-time (Jul 2006 - Sep 2007)
Details: [Info, Photos, Videos],   [US Patent #20080105481],   [Repurposed as a Robocop]

I helped build a human-sized robot that could balance on 2 wheels (like a Segway robot that can balance by itself) and climb up steps or fall from 3ft and continue driving, and also change to a 4 wheeled mode (like a car), as it was designed for rugged military operations.

I was in charge of the embedded software development (programmed entirely in hard-realtime Java), some of the electronics, testing the robot's operation, and creating the stair-climbing algorithm. It contained 10 motors (including 4 highly efficient Harmonic Drive gearboxes), a custom active suspension system, and weighed 300lbs (140kg).

Tbot transforming

 

Intelligent Robot that Recharges its Own Batteries and is Controllable Through the Web

RatSLAM Web Interface

Duration: 2 years full-time (till May 2009)
Details: [Official website], [Published research paper]

For my Masters Degree in Robotics Research, I created an interactive website that lets anyone in the world control a complex mobile robot in Australia from their web browser. I also created a hardware & software system that lets the robot search for its battery charger and recharge its own batteries whenever they are low, therefore being available on Internet continuously. Ironically, the "long-term robot" was dismantled once I left the lab!

 

Image Processing of Difficult Facial Images

Face Preprocessing

Duration: 9 months part-time (Sep 2009 onwards)
Details:   © nViso Sarl 2010

I created a face image preprocessing library, that can take low quality photos with uneven lighting and convert them to images where the face is much clearer. This happens by detecting the face and eyes in the image using several combined methods, then performing Histogram Fitting to standardize the brightness of the face across left and right sides, and then overlaying the processed face over the face in the original image.

Notice that in the original images, the faces are hard to see, and one side of the face is possibly brighter than the other, whereas in the overlayed image, not only is the face much clearer, but the left and right sides of the face are equally bright.

 

Face Recognition on a Robot using Stereo Camera or FaceBook Photos

Face Detection

Duration: 9 months full-time (Jun 2008 - Apr 2009)
Details: [Published research paper]

I created a realtime Face Detection and Face Recognition system that can be trained &/or tested using the Facebook social network. I modified the OpenCV Haar Detector to detect faces correctly in 80% of typical Facebook photos, despite the enormous range of lighting conditions, angles and facial expressions found in realistic Facebook tagged photos compared to traditional fixed environment photos that are typically used for Face Detection and Face Recogition systems.

I used the Face Detection and Face Recognition system on a robot (part of a Microsoft funded project) that would try to be friends with people. It has conversations (in English) with the person, while training itself to learn their face from camera snapshots, as well as their tagged Facebook photos. When the robot met the person again on a different day, it might recognise the person from its camera and Facebook photos, and chat about what it has done since they last met.

 

A Robot that Mimicks a 2yr old Child by Adapting to its Surroundings

aibo robot

Duration: 5 months part-time (Feb 2006 - Jul 2006)
Details: [Published research paper]

I worked with a Professor of Psychology to program a Sony AIBO robot dog that learns to interact with its environment, rather than be pre-programmed how to behave. We used a Reinforcement-Learning Neural Network to allow the robot to learn whether something makes noises or vibrates or can be moved or is too heavy. The neural network "brain" ran on a PC using Java, and wirelessly communicated with the low-level code inside the robot.

 

Draw3D Freeware 3D Modeller

screenshot

Duration: 5 years part-time (Jan 1999 - Aug 2003)
Details: [Official website]

I created a complete 3D Modelling application for Windows. I designed and implemented the entire software on my own, to gain experience in C & Assembly language when applied to 3D graphics using software rendering, where efficiency and performance are critical, yet an intuitive Graphical User Interface is also vital. It is composed of more than 30,000 lines of code, and renders 3D graphics in software faster than most commercial packages, and has been downloaded from the internet by over 120,000 people worldwide.

 
jaycarRobot

Obstacle-Avoiding Talking Robot

Duration: 2 months full-time (Dec 2003 - Feb 2004)
Details: [More photos]

I created a self-contained robot that can drive around a room while avoiding many obstacles by using its Infrared sensors, Ultrasonic sonar, Human speech module and Atmel microcontroller.