|
Home
Project
Gallery
Favorite
About Me
My Resume
|
Projects:
Urban Planning for CajunBot-II: The
central brain of the autonomous vehicle is the planning and
execution system. It
plans and implements complex paths through urban work to reach a
given sequence of checkpoints. It involves high level planning of
route, followed by a sequence of specialized planning agents like,
following a lane agent, change lane agent, intersection driving
agent, parking agent, unparking agent, free zone driving agent,
3-point U-turn, etc. The system reacts to road blockages, manages
speed limits to follow traffic rules, merging into traffic,
convoying, etc, to mention few.
 Team
CajunBot (2007)
Urban obstacle obstacle detection:
Detection and tracing for traffic vehicles, road blockages,
parking lot obstacles, etc. It computes and maintains velocity
vectors of all moving objects mapping them to a lane, intersection
or parking lot they are on.
 Me
and Dr Arun (my prof, boss and more)
 Me
and Pablo (my friend, and the genius guru I learnt alot from)
Steering controller for CajunBot-II
(Jeep): Upgraded the Steering controller for CajunBot-I to
CajunBot-II. The steering controller includes, speed plan based on
curvature, changing gear for reverse and forward driving, etc.
Steering Controller for CajunBot-I (skid-steered vehicle):
PD based steering controller for 6-wheeled skid steered all
terrain vehicle. This include generating left and right brakes for
turning and stopping and gas controller for maintaining speed. To
mention few, the controller responses to signals like kill, pause,
and slowing down if input path rate changes.
1) Cajunbot Off road Path-planning for Grand
Challenge (2005)
What is CajunBot:
Defense of America (DARPA)
conducted a competition ‘Grand
Challenge , where an autonomous vehicle needs to travel from
Los Angeles to Las Vegas covering over 210 miles over rough
terrain, avoiding obstacles. All this needs to be done by
computers sitting on the vehicle. The vehicle is provided with GPS
points and allowed to use any type of obstacle detecting
sensors. We, the CajunBot team represented ‘University of
Louisiana at Lafayette’ by building CajunBot and were the 6th
best performing team.
I am currently working to develop a path-planning algorithm for
CajunBot using potential field. Where the terrain in consider in
3-demensions, i.e. slope of the ground is considered, which I feel
is must when the terrain is filled with uneven rocky land, which
can neither be treated as obstacles nor as clean path. Even
obstacles are considered while discovering the path. Other issues
considered while selecting the path include preference of area,
which might depend on things like how slippery or rocky is that
portion of terrain.
Cajunbot project pictures: CajunBot,
CajunBot
Team, Dr
Maida and Me, Dr
Arun and Me, With
Tony Tether (DARPA director)

2) Cajunbot Simulator(2004):
What is CajunBot: Mentioned above.
Developed a
sophisticated 3-D simulated world along with robot that exactly
simulates real world robot with its dynamics, steering controls,
and all the sensor system onboard. This simulator takes the
exact commands which real robot would accept and simulate the
exact actions of robot, The simulated sensors should sense the
environment created in simulator and give sensor data in exactly
the same format which on-board sensor driver would provide. This
is more like a computer game where you have a robot, huge terrain
and obstacles, when driven in manual control its no different from
a car race game. I feel it is more fun driving in our simulator
with different type of steering control than any traditional car
race.
What is the need? When developing software for
robots, it's hard to execute the programs every time on real
robot, chasing around robot to collect data and observe its
behavior. Simulator provides one place testing of complete
software, it's easy to run, pause/freeze and collect statistical
data.
How did it help in developing the software? We came
to know about the DARPA competition so late that we were always
short of time, we had to build the complete vehicle along with
software starting from scratch in just 3-4 months, the software
team had very less access to vehicle and other hardware, Most of
the software was build and tested in simulator. Because of short
time, we never tested the complete software as a whole on real
robot, in fact most of the software modules were never executed on
real robot. They all were executed for the first time on real
robot directly in qualification round. And the CajunBot performed
exactly the way it was expected and performed in simulator. This
gave a great reward to simulator.
For more details look at Simulator
Report.
Cajunbot project pictures: Simulator
Picuture1

3) Cognitive Science project: Implemented
‘Prey-predator problem’ using magnetic force approach on real
robots. One of the famous problems in AI is prey-predator
problem, where an set of predators need to collectively work and
trap a prey. One of the approaches is simulate all the predator
robots as positively charged magnets and prey to be a negatively
charged huge magnet. Most of us might have observed that when a
huge magnet is place on table and throw oppositely charged magnets
on table, they surround the huge magnet from all sides placing
themselves at almost equal distance apart. This is because
positive magnets repel each other and attract to the huge negative
magnet in the center, this causes the positive magnets to find a
path towards huge negative magnet and get attached, maintaining
certain minimum distance from other positive magnet. I simulated
this magnetic force for each robot that causes the predators to
trap a prey. This project gave me an opportunity to work with
latest toys in robot world, like
PPRK robot from CMU, CMU
cam, Toshiba pocket pc with wireless LAN
802.11
Architecture Each prey and predator has
set of colored sticker placed over them, each of these robots is
controlled by a pocket pc placed over it, which runs VC++ code. In
this description I call robot and pocket pc together as prey or
predator. There is a CMU cam placed to ceiling of the room that
looks at all the prey/predators in the field. A desktop computer
running a java program communicates with this cam to acquire and
maintain the list of positions of all the prey/predators. It
identifies the position and orientation of these prey/predators
using the set of colors residing on them. This computer acts as
server which dynamically registers prey/ predator, keep track of
their position and provide them with list of positions at regular
intervals through wireless connection. Right now prey has no
intelligence to run away from predators (this could be future
update), but predators use this list of positions to calculate
simulated attraction and repulsion forces acting on it from other
predators and prey and move in the resulting direction of force.
Thank to Dr. Mike kalish for providing all the equipment and
valuable guidance without which it would have been possible to
complete this project I completed.
Project pictures: PPRK
robot, Dr Mike
Kalish and me, Me
with PPRK and PPC
4) Dynamic Neural network path-planning Most
of the potential field path planning algorithms builds a grid
world all through the area of concentration to find the best
possible path for robot which require lot of computation and
memory to build and maintain this grid world, more over it limits
the area of observation. One can observe that the path is always
along the straight line from source to target position incase of
no obstacle in path, or around the obstacles which are on the path
from source to goal. I used this observation to build the dynamic
potential nodes only around the obstacles and goal, along with
dynamic links between them. I successfully implemented and tested
this approach using nomad 200 robots’ simulation world and yet
to be tested on real Nomad robot, which has few hardware problems
for now.
Project pictures: Dr
Maida Me and Nomad robot
5) Nomad: Detecting the structure of room My
first project with Nomad robot was to use bumper sensor around the
robot to detect the structure of a room along with the position
and structure of objects in the field. The robot moves around the
room sensing the objects and walls and builds an internal
representation of the room.
Project pictures: Nomad
Robot, Me with
Nomad robot, Dr
Logan and Me
6) Genetic Algorithm for Tic-tac-toe There
was always a question in my mind about the capability /success of
Genetic Algorithm (GA), which seem to work using randomness. In
order to feel the in-depth of GA, I attempt here develop a GA for
tic-tac-toe. Tic-tac-toe is one of the interesting games in AI to
introduce intelligence of thinking, it does not have too huge a
problem space like chess, nor is it too direct problem.
7) Neural networks for Tic-tac-toe Neural
network is one of the emerging concepts of AI, which is being used
in large number of diverse fields like database, pattern
recognition. Can a neural network be trained to play a game like
tic-tac-toe, how large a network does it require to be able to
play tic-tac-toe, and how much time does it take to get trained. I
wanted to discover these things by developing a neural network and
train it play tic-tac-toe. I used traditional back-propagation
algorithm to train a neural network to playing a tic-tac-toe and
learn the different characteristics of the network that will
affect the performance of the network. And to check if the
back-propagation learning algorithm can be used to train a network
to play games.
8) Tic-tac-toe in 7 programming Languages I
have implemented tic-tac-toe game in 7 different programming
languages. They are Perl, Prolog, Python, Scheme, C, Java,
Matlab. Download the programs. Tictactoe
in Perl Tictactoe
in Python Tictactoe
in Prolog Tictactoe
in Scheme Tictactoe
in Matlab Tictactoe
in Java Tictactoe
in C
9) Paranoid Game published in Computer magazine - PC
Quest 19XX Paranoid, one of my game was published
in PC Quest computer magazine.
10) Paint Brush for dos, Caroms, Cricket, Car
Race, etc and some animations: Other graphic
application and games include Paint Brush for dos, where you can
draw store and open you drawing (file format was defined by me
just for this application). One of the interesting features of
this application is that after drawing a figure using free hand
drawing you can preview it as a simulation, where it slowly draws
your figure as if someone is drawing on screen before you. Some
of the games I implemented in C include Caroms, Cricket, Car Race,
Bike race, shooter, and paranoid. Some of the animations I
implemented in C include a 3-D room with auto opening/closing
doors, and a television in the room with different channels to
switch between. A animation of man walking, riding bicycle,
climbing stairs, etc, which is a side view and shows good human
joints during animation which can be implemented with simple set
of circles.
11) Safe Locker + paper roller cassette + talker + ... Huge
description,, need to write, need to add more pics showing
internal parts and mechanism.

12) Remote control car that can turn, move forward,
reverse, with fancy lights Remote Control car that can
turn, move forward, reverse, with fancy focusing head, and antenna
with LED light, and cool looking yellow light inside. It has doors
and top that can be opened. Sorry, the car is now almost broken as
it was created some where around1996 when I was in around 8th
standard . Will add more pics showing its internal mechanism.
|