Me and my first project?

Ninad Pradhan- Projects


HOME RESUME PROJECTS LITERATURE POEMS PICTURES LINKS

Projects: Related links

Control Engineering Virtual Library

Chip Directory

Yantriki 2004

Robosoccer: Robocup2003

Links to Ant Behaviour pages

more Engineering links...


This is a list of projects I have been a part of during my engineering. It must be kept in mind that, except for the paper, all of these were team projects.
It is impossible to write of them without writing of my friends whose contribution towards them was in equal, and often, greater measure. I have mentioned them before the project summaries.


Top

Robot Grouping and Flocking with Obstacle Avoidance

Simulations at Dr. Dawson's Mechatronics Research Group, Clemson University
Team: Jian Chen (PhD candidate), Erhun Iyasere (Masters candidate), Ninad Pradhan

Mike (Erhun) and I were working on simulating two control algorithms which have been proposed by Chen. The multiple mobile agent problem was divided into two salient sub-problems: Grouping and Flocking. In the former, the mobile agents start at one particular formation, and then follow their own trajectories towards the stationary goal points. In doing this, they avoid stationary and mobile obstacles in their path, using relationship functions and bump functions. The mobile agents were assumed to have a uniform finite sensing range, but the communication range, that is, the ability to know of other robots' positions, was unconstrained. The mobile obstacles were also assumed to have a much lower velocity than the robots. It was seen that the control algorithm was successful, that the robots moved to their individuals destinations without making contact with either of the two kinds of obstacles.

The second problem we solved was the flocking problem. In this, the goal point is mobile. Also, as implied by the term flocking, the robots maintain a formation in their motion through the landscape, and the control algorithm is written for the tracking of the goal point by the centre of the flock. The concept of artificial potential energy is used for formation. The results demonstrated the workability of the algorithm, since the flock centre was consistently tracking the moving goal point, and the individuals in the flock were able to avoid obstacles.

We are currently working towards a simulation for rehabilitation robots, and are dealing with a two-link R-R robot. The tool tip attempts to trace a circular path in the workspace and avoid joint singularities and obstacles.

Top

High Availability PID Controller

Final year project during BE course [Fr.CRCE, University of Mumbai]
Project carried out at Heavy Engineering Division, Larsen & Toubro, Powai, Mumbai

Team: Rahul Saxena, Abhijeet Malik, Rohit Pradhan, Ninad Pradhan

Our project is a generalised implementation of a DC motor position control system with card redundancy and diagnostic features. This gives flexibility in using the concept for more specific tasks. Our goal was to come up with a framework from which a system can be built which confirms to more specifications.

The position of the motor is represented electrically as a voltage feedback from the potentiometer coupled with its shaft. Every voltage value returned by the potentiometer during the rotation of the motor shaft is uniquely associated with the angular position of the shaft in degrees. We make use of the above property to provide the voltage equivalent of a desired angle value, as the set point to our control system. We have used a PID algorithm in the controller.

The PID controller provides a voltage to the driver of the bidirectional motor, and the driver is a high current output circuit which provides adequate current to the motor for its rotation. The separation between the desired position and the current position determines the speed at which the motor rotates during a specific instant of its motion. Since the PID system takes care of these variables, that are the speed of motor and its ultimate position, we get an automatic control system for motor position control.

Introduction of redundancy in the control cards and monitoring of different points in the circuit to check for improper functioning are significant features. Two identical cards are connected in parallel. Now, failure of one card would simply initiate a card switching operation, where the second card now becomes responsible for passing its output to the next stage, which in our case happens to be the motor driver.

We have a third card called a monitoring card which tells us whether the card supplying an input voltage to the driver is in good health. It monitors a few parameters of the card currently in control and, if it finds some error in its functioning, it switches cards so that the other card now gets control.

The system may be used as one of the final stages for a bigger position control system, which may be governed by a microprocessor. It may also be used all by itself, or in a stand alone configuration. In any case, we may need to know how the cards are performing before putting them directly in use in an application.

Hence, we have a fifth card called the user interface card which is essentially a diagnostic feature of our system. Through the interface, we can give a set point in terms of the angular position. It converts this value to corresponding voltage and gives that to the set point of the PID cards. If standard waveforms are essential for testing, then a waveform generator is provided for sine, square and triangular wave outputs.


Top

Autonomous Agent to Simulate Docking

Project at Yantriki, during Techfest2002, IIT Bombay's National Level Technical Festival
This robot won prizes for Overall Best Team and Engineering Excellence in a field of over 200 teams. It contains, amongst other things, some very good parallel port interfacing code in C written by Rahul.

Team: Rahul Saxena, Noel Athaide, Vikram Iyengar, Ninad Pradhan

The arena was a rectangle of 72x48 (dimensions in inches). At two adjacent vertices of the rectangle, along the breadth, were two painted squares, any one of which would be our starting point. There was a wall, 12 inches long, at the centre of the arena. At the centre of this wall was fixed a metal cylindrical pipe, 3 inches in diameter and 5 inches high, or our docking station. The task was to deliver 5 marbles into the pipe without touching the mirrors surrounding it.

We made use of stepper motors to give us accurate distance measuring capability. Agent 'Plunk' was controlled by wire, using the parallel port of the computer to send signals to excite the phases of the motor, as also to allow feedback from the sensors we had used. Computer control allowed us to write the programs in C, much less complicated and easier to debug than assembly language. A flexible code in C was written which defined functions to move the motor, by 'out'ing the appropriate bits to the port and read the sensor bits coming to the port. We calibrated distances in terms of inches, using steps per revolution and circumference of the wheel as the guidelines.

The current output of the parallel port was quite low. We had to supply high current pulses to the stepper motor phases to drive it. Hence we needed to use a Darlington amplifier IC which would act as the driver. We used single pole excitation to drive the motor. There were 2 sensor switches at the back of the robot whose outputs were given to the control lines of the port. Power supply was a standard DC supply, giving a 7V output. The circuit had a facility for limiting back EMF (by diodes) from the motors during switching periods.

The path traced: Our algorithm was based on the concept that, to get anywhere near desired accuracy, we had to have the machine move parallel to one of the walls of the arena. That's why, for the start, the robot always faced the same way regardless of whether it began its journey from A or B, that is such that the sensors would get pressed once it made contact with the wall. The loop was written such that the machine kept trying to move back until both sensors were activated. The sensors being at the extreme ends of the back side, this was a surefire way of aligning it with the wall perfectly. Once the first alignment was done, the robot moved parallel to the walls till it had crossed the cylinder's Y-coordinate location. Then it moved towards the cylinder, turned to face it, and pressed against the walls supporting it till the catch holding the marbles back released, and the docking was hence successfully completed. The payload of marbles had been delivered.

For the sake of trivia, I want to point out that our robot was constructed entirely from scrap. Switches and motors from a run-down printer, aluminium frames, bicycle spokes, a hollow lotion tube, a pen refill, trolley wheels, and bicycle tube rubber comprised its magnificent exterior. Since we spent only on ICs and ribbon wires, our overheads on the project were a regal Rs.200 (approx $4)! Even our name, Plunk, was too original to have been used anywhere before, and hence we did not have to spend on buying rights for it...


Top

Wireless Robot Team Simulating Soccer

A hobby project to get a group of soccer playing robots to score a goal in the half opposite to the one they start from. This project was aborted due to lack of funds to buy the necessary Tx-Rx kit for reliable communication. It ended up becoming a communications project where we were trying to make a Tx-Rx using discrete components. However, intentions were noble and definitely to go the distance.
Team: Rahul Saxena, Noel Athaide, Ninad Pradhan

Robots will start in one half of a field. Ball will be placed in some random position in the field. The robot nearest approaches the ball and hits it. Ultimately, a goal has to be scored by the team in the opposite half.

The camera placed overhead picks the position of a few distinct objects: the robots, the ball and the goal. Software analyses which robot has the nearest straight line distance to the ball. This particular robot is identified and instructed to approach the ball. The 'nearest gets a shot' tactic is followed until one of the robots scores a goal. This satisfies the requirement of our robosoccer team. The image processing software tracks selected objects within its frame of reception and returns variable values to the C program written to run the machines. These will be X-Y position in a coordinate system defined by the frame of image reception.

Communication setup is described ahead. This was where the robosoccer venture had to be halted. We did have a erratically functioning Tx-Rx at that time.

This is the module I worked on along with one of my classmates. We made a serial transmission-reception circuit using wire-wound ferrite core inductors and electrolytic capacitors. The serial port signals were given to the transmitter section which operates at around 50 MHz. There is one transmitter and each of the agents was to have an on-board receiver. Transmission in the form of amplitude modulation with the carrier amplitude either at 0% or 100%.

Since we use one frequency for all robots, the robot needs to know it is being identified. This is done using a bit frame. Synchronising START BITS are followed by an identification number for the agent. The next digital data bits are instructions for motors on the robots. STOP bits indicate that we have reached the end of this particular instruction frame.

A digital circuit is used to decode the contents of a frame. Its immediate function is to convert the received on-off signals into TTL form. It has to perform two functions: identification and then sending the signals to appropriate DC motors. An on-board battery power source can supply Vcc for this digital circuit.


Top

(Paper) Model of Ant Based Robot Team for Exploratory Missions

This paper proposed features of biological ant colonies which could be emulated by robots. It also proposed features which made use of robot capabilities which do not have a parallel in biological systems.
Selected for publication at the International Conference on Advanced Mechatronics (ICAM 2004) organised by the Japan Society of Mechanical Engineers (JSME)

Team: solo effort

Ants are fascinating creatures. They build nests of great architectural complexity. They find food and communicate their find to colony members with chemical signals with accuracy enough to exploit sources to full potential. All this without the semblance of intelligence, as we humans define it. This intuitive discipline and organised behaviour is tempting for an engineer, since we deal with technology which does what it is told to do without the force of 'reason', much like the ants, which run on 'programs' evolved by nature, all instinct and no reason. Yet their functioning is complex and effective. Can a piece of technology, a robot in this case, mimic this kind of complexity in team functioning? My curiosity for knowing more about ant behaviour came, oddly, from Richard Feynman's description (in 'Surely you're joking Mr. Feynman') of his ant-watching exploits, where he experimented with a small colony operating from his window sill!

I feel the automated (or instinctive) behaviour of ant colonies is very well suited to exploring a dangerous or hostile environment, where it might be difficult to have a set of predefined routes to follow. The robot needs to have its own 'intelligence' or capability to decipher the environment around it and make decisions based on it to dictate its own course of action. The rapidity of exploring such terrain is enhanced by the availability of a robot team, and substitutes are always available for a malfunctioning agent. All my thinking behind the paper was guided by trying to answer two questions: what useful features of ant behaviour can this robot team use; and what should its composition and algorithm be? The abstract is given next:

Abstract:

Ants exhibit a variety of behaviours which synergise to result in discovery and exploitation of food sources around the nest. These behaviours can be adapted to robot teams which are performing exploratory missions on uncharted landscapes. Also, aspects of mobile robot coordination and control can be adapted to enhance the functionality of the team. This paper proposes a structure for a team of ant-emulating robots, a strategy for field operation, and behaviours which can be incorporated into the mobile agents on a foraging or exploratory mission.

Do write to me about the paper or about ant behaviour-related work in your field, be it biology, mathematics or computer science. Contact: ninad(dot)pradhan at rediffmail dotcom.

The paper got shortlisted for ICAM when I least expected it. I was assuming it would be accepted only after I would tide over the prevailing shortcomings. It feels good for the paper to get this recognition and I will work to fine tune it over time, since I find the theme worth working on...

This paper was earlier submitted to another international symposium on distributed autonomous systems. It was not accepted by the panel for publication in their proceedings. However, I had the benefit of being reviewed by three of their panelists (not named in correspondence), when some members from the panel had written papers which I have referenced. The positive feedback was that I had some interesting suggestions to make in the paper; that I should implement a real robot team with these principles and iron out the details that way; and another found the subject quite interesting. The critical feedback was that I should have incorporated simulation and its results; that the paper lacked focus; that its layout was not as per convention for a research publication; that it was a compilation of past research work. I agree fully with the first two comments; need to be careful about the third; but beg to differ with the final criticism. The paper does use previous work on the subject, but the core idea had come about before I read any of the work done on ant-based robots, and had only acquainted myself with biological and mathematical aspects of work on ants. Whatever the outcome, the fact remains that working independently on a paper was a great learning experience


Top

Other robotics projects

  • Water polo playing agent

    Team: Rahul Saxena, Gaurav Mestry, Ninad Pradhan
    This was probably the first time a team from our college made a project for Yantriki. It was a simple boat with a stainless steel skeleton, side paddles and a scooper in front to pick floating ping pong balls from inside the arena (a tank). We beat two teams and were soundly beaten in the pre-quarters. Reason: the scooper motor had radically changed the CG, and the ballasts to counter it came loose during that round. So 'Tin Man' did a Titanic. We learnt to avoid making boats which sink, and to take part in these competitions because we got to see so many better ways of doing things.

  • The balloon bursting boat

    Team: Rahul Saxena, Gaurav Mestry, Rajula S, Ninad Pradhan
    The same boat used above was modified with a heating element in front. We found that the water balloons started bursting after about 45 seconds of pre-heating the rod before the contest. The heating element was heavy, and made our boat slow, but the mechanism was reliable and the manoeuvring was accurate for the winding course. Unfortunately, CG played villain again, the Yantiki woes resurfaced as the boat sank. So much for the heating element, winning teams had thermocol pads with motors and agarbattis (incense sticks) doing the balloon popping! Lesson learnt: keep it simple.

  • Our next project was the successful one at Yantriki2002, also autonomous as opposed to these ones run by handheld switches. Rahul (a constant feature on all projects listed above) was responsible for not letting two failures make us think that this was the most we could do. He gave us an initial push (and then did all the programming :)), much needed, for starting to plot for doing much better at Yantriki that year as compared to debut year (Titanic). Add Noel ("we can do this- one hundred percent!") and Vikram ("tension mat le"), and we had a pretty positive minded team for that effort!



Ninad Pradhan's homepage. Last updated January 26, 2005.
This page was made using HTML-Kit (Build 292)
Hosted by www.Geocities.ws

1