Welcome to our blog.

This blog is dedicated to our project: Swarm tracking System. We started this at the request of our school the PXL university college. The purpose of the project is to coordinate one or more Doodle Bots using feedback from a camera.

We plan to achieve this by using a centralized server connected to the Doodlers and the camera who will do all the image processing and calculations. Meanwhile a client can connect to the server to take control over the Doodle Bots. This can easily be done using JavaScript though we are unsure whether this might negatively influence the performance. The Doodle Bots will use Bluegiga's BLE112 to communicate with the server. The usefull thing about the BLE112 is that it can also be used to control our bots. The camera, a Logitec C270, will be suspended over the surface on which the swarm will draw, this way it will have the best view.

The underlying purpose of this project is not to make a product to sell or distribute (although it will be completely open source) but primary this project is supposed to teach us stuff only experience can teach.

Wednesday, May 21, 2014

Update control circuit

There have been some changes with our control circuit. We were planning to use the bluegiga BLE112 module to control the Doodlebot, but the breakout board we were going to use couldn't be made. The lines on the board would have been too small for our printer and if we redrew the design the board would become to large and we wouldn't be sure if it was going to work.

So we decided we'd use an Arduino Pro Mini and a BlueSMiRF bluetooth module to control the Doodlebot. This will make the software for the doodlebot a lot less complicated to develop.

The circuit design has already been updated:


Wednesday, May 7, 2014

Progress March-April

Since our last post we have been busy with our finals of the second trimester. With the start of the new trimester we started working primarily on making our robots wireless. After some testing we were able to connect with the developers board of the BLE112 using node.js. Working with Bluetooth on Windows is generally more keen to give problems so we had to move our server-software to Linux to be able to connect with the BLE.

We have also updated our tracking software since there were some problems with our previous version. We were using RGB values to track the colors on the doodlebot. The big drawback with this way of tracking is that RGB values depend way too much on the brightness of the object. Which means that whenever the doodlebot drives into a slightly darker or brighter area the colour changes and the tracking becomes less reliable.
To counter these issues we decided to track the colors with HSV. Using this colorspace we can track the objects' color using its hue, saturation and intensity. With HSV we will no longer be dependant on the objects brightness.
Another problem with the tracking software was that the grouping of the pixels didn't happen stable enough. When the colordection faltered the grouping made multiple smaller groups of pixels. This had as consequence that the position and angle of the bot became inaccurate. With our new update the grouping will happen more flexible which will lead to more stable positioning.

There has also been some progress with our DoodleBot control hardware. The PCB design has been made and the only thing that needs to be done now is for the PCB to be printed and then we can assemble it. However we can't make our DoodleBot wireless just yet when we have the PCB since we'll probably still have to wait for the Breakout board of the BLE. Once we have both the control circuit and the breakout board our bot will be truly wireless and we will be one step closer to our final goal.


Friday, February 21, 2014

Video Tracking software


This is a short video showcasing the working of our tracking software. More information about the working of the code will follow. Thanks for watching.

Tuesday, February 18, 2014

Doodle bot electronics

In the picture above you can see our Doodle bot with its prototype control electronics. On the breadboard we have a very simple circuit containing a H-bridge a capacitor and a LED. The H-bridge helps control the motors and the capacitor keeps the servo from drawing to much current, whilst the LED shows if the battery is properly connected. in the middle we have an Arduino Uno who will control the circuit above it. In the lower part resides the battery pack, four AAA batteries deliver around 5V to our electronics.

Monday, February 17, 2014

Progress week 6 & 7

Sorry about not posting last week,we were caught up in another project. But here's a quick update on our work. Last two weeks we have worked on the tracking software. We got that to a pretty refined level. The software is able to track an object marked with two colors at a relatively high speed an accuracy. It can even detect the direction of the object. We will post a showcase of the software on this blog and we will also upload the code to Github.
The other thing we did last week was develop a prototype of  the control electronics of our DoodleBot. we will also upload a picture or two of that early this week.
This week we will try to figure out the programming language of the BLE112, BGscript. and we will also try to make the BLE112 usable for our prototype electronics. So far we have been using an Arduino Uno as a substitute.

Wednesday, February 5, 2014

What we have done so far

We were supposed to use this blog to keep people updated on our progress, and as you can see that sort of didn't work out so well until now so here is a list of the stuff did so far.

The first two to three weeks we have been busy brainstorming trying to think of the best way to solve our problem. During these frequent brainstorm sessions we discussed which technologies we could best use for our project and what the best way is to use these. We discussed whether it would be better to use JavaScript or C++ with the OpenCV library. Since Wilco (who is the lead programmer) has the most experience with the first and since it is way easier to make our client software cross platform with HTML, we chose for JavaScript. We also discussed what was to use as a way for our server and bots to communicate. Since it had to be wireless (just imagine the mess if we would connect them with cables) we had two options, WiFi and Bluetooth, we chose the later because WiFi is a tad overkill, we only need to send a few instructions, not large streams of data. The Bluetooth module we eventually went for is a low energy module, meaning it doesn't require big batteries, it can be powered by a simple coin battery.

As early as week three Wilco has been toying around with JavaScript, working on the client software and experimenting with the tracking. This week he managed to connect with the evaluationkit of the BLE112 using JavaScript (which took some tweaking)  and he is now going to try and program the thing.

We will try to keep up with these posts in the future. We will post at least one every week to keep you updated. Thanks for reading ;)