Swarm Robotics: Methodology
This week, I was finally able to complete all the documentation from UCSI University, and it is official that I will be doing my project on the title I described so roughly last week. This week, I spent some time mulling over many possible ways to effectively tackle the demands of the project and try to tackle the questions I asked myself about the project so far. This week I will outline my plan for the duration of the time I will be spending on this project and the methodology I hope to employ in achieving the objectives and success standards I have set for myself. I will also share a bit on some hardware selection discussions and my plans for them.
Working with multiple bots is a mammoth task. Having done some research, I can admit that its quite challenging trying to implement this on slow earth-bound robots, but I can only imagine the difficulty in trying to co-ordinate this in bots that need to be as aerodynamic as quad-copters. And perhaps my biggest flaw is that I am not too well-versed in the kinematics and dynamics of the flight control for quad copters. As such, I feel that the best way to start is to purchase a commercially available micro UAV (quad-copters) in the coming weeks and trying it out first hand to get the feel of the demands of the device. I plan to order one off e-bay in the next week or so and these devices cost around USD$30.
Once I obtain a base line comparison of the performance my copters should replicate, I will try to implement that with a custom flight controller which I can reprogram. This controller will be the heart and soul of the quad-copters, as it will not only be responsible for the copters flight control, but will also be the brains of the swarm system. Therefore, it is important to find the perfect device for this implementation. Its should also be noted that the controller should be cost effective too as there is going to be multiple bots, hence multiple controllers need to be purchase.
After I nail down the flight control of the quad-copters with the new controller, I will move onto working on inter-bot communication system which will be the eyes and ears of the swarm model. Therefore, my development of the swarm model will depend crucially on the inter-bot communication system and this implementation includes important dilemmas like the location of a single bot in relation to the others etc.
The next step will be implementation of the developed system on multiple bots, therefore this is the phase where I will have to spends most of my time calibrating the entire system and find flaws in the system that need to be ironed out. This will be a tough task, and to be honest, I am picturing myself running around after quad-copters that are flying off in different directions. Might need extra hands during this time.
This part of the project obviously includes the development and improvement of the swarm model, and see how many extra features I could possibly include in the system as well.
The last part I will focus on will be the Base Station GUI design and its communication with the quad-copter. Throughout the duration of the implementation, I will be working on the Base station design itself (I will need a medium to talk to the quad-copters while testing), but this task will be focused around how the GUI will function, look and feel to the user and as all good engineers should strive to do, I will attempt to make it as user-friendly as possible.
Every week I will note down the problems that I face that may require extra equipment and carry on without that part first so as to not hold up the project progression. The following image is the Proposed Gantt Chart for the project :
It should be noted that I will actually have an extra 16 weeks, (therefore about 48 weeks instead of 32) during which time I will not be in Malaysia. I will be back in Bangladesh instead as I cannot take courses from the duration of September to December. I will spend this time working mainly on the swarm model and the inter-bot communication issues that I have no doubt I will face. If I do feel like I have the time, I will skip to the work ahead so that I can find more time for testing and troubleshooting once I return to Malaysia in January, 2015. During the 16 weeks though, I will keep updating my blog.
Hardware Requirements for Quad-Copters
Quad-copters are brilliant little UAV’s which provide great flight stability and manoeuvrability. Here’s a look at what is needed to actually construct a functioning quad-copter. The items in this list are pretty rudimentary but never the less important to look at and understand these components funcitons:
- Motor x4
- Electronic Speed Control (ESC) x4
- Flight Control Board
- Radio transmitter and receiver
- Propeller x4 (2 clockwise and 2 counter-clockwise)
- Battery & Charger
In the coming weeks I will conclude on which of devices to use for these components. There may be reductions, for instance, I can ignore the use of the ESC if I use DC motors and the PWM to control the motor speeds.
Another important aspect of the hardware that needs to be considered is the flight controller. Having looked at many different candidates, I believe its best to use an arduino board on the quad-copters as the main controller. The light-weight yet robust design makes a fair point at using it and above all, I believe the availability of open-source material will greatly help me speed up some of the parts of the project and will help me focus on the more difficult aspects (such as the swarm modelling). Now the only question is which arduino board to use. I will decide on that in next week’s post along with a brief overview on the kinematics and dynamics of a quad-copters flight. See you all then!