About the project

This post is also available in: Hungarian

Prometheus project

In the 21st century there are many dangerous places,that are located in developed areas, but their exploration presents a health risk. Remote controlled robots are used all over  the world to solve emergencies, to explore these dangerous places, and to monitor  the place of the accident. These robots can be controlled usually from a kilometer or closer range. But there could be emergencies when this range is not enough. Recent events ahve proven that even the most safe establishments could suffer a damage that presents an enourmous danger to the environment. The cunami after devastating  earthquake in Japan damaged several reactors of the Fukushima NPP. One month after the accident the radiation levels near the power plant were still 4000 times higher than the limit. It is easy to tell, that a several hour long examination could lead to severe health consequences.

The idea

The example presented above shows how important it is, that people doing an examination should be in a safe distance from the source of danger. We tried to find a good solution by using the technologies that were available to us. The internet-controlled vehicle we developed can be a solution to to problems in dangerous environments. The device is able to stay in the place of emergency for prolonged periods, and send pictures and data in real time. It is able to move objects with its robotic arm. Placing different sensors on the vehicle could provide even wider uses.

A large advantage of this design is that the car and the controllers can move freely around the world. To control the car you only need a computer running the client software, and Internet access. A connection to the Internet can be established in a matter of seconds in the developed world. The 3 controllers do not even have to be on the same place, this can save hours of time becase the controllers do not have to go to a control room.

Other uses:

  • Police(e. g. searching for bombs, inspection of vehicles, the device could be extended with thermal imaging sensors, and nightvision cameras.)
  • Military application and peacekeeping operations

The goal of the development was to create a device that is haighly autonomous in the operation area, and

 

 

The electronics

There are 3 main modules of the electronics:

  • The Ethernet to Serial converter (Wiz110SR)
  • The controller module with the MCU(ATmega16A), the RS232 to TTL level converter(MAX232N) and the opto couplers and their drivers(LTV846 and ULN2003A, respectively).
  • The motor drivers.

The MAX232N driver and receiver converts the levels of the Wiz110SR’s RS232 output to the TTL levels of the MCU. On the controller module we put a connector for TWI device, so the electronics can be extended with TWI devices like tempreture sensors, accelerometers, or even a GPS receiver. The controller module is optically coupled to the motor drivers, so the counter EMF from the inductance of relay and motors will not disturb the MCU’s operation. The relays controlling the motors are driven by ULN2003A darlington transistor arrays. On the car there are also two IP cameras(TL-SC3130) and a router which can be configured as a WISP client. There are 3 12V 7.2Ah sealed lead acid batteries providing power. From the first the router, the cameras, the serial converter and the control module are powered. The other two are for powering motors, and their drivers. Parts of the electronics require a stable 5V  supply, this is provided by 3 switching regulators.

The software

There are two modes two control the car. In the first, which is mostly used for tests, the router is set to AP mode, and a PC running the server, and PCs running clients can connect to the router. In the other mode the router is set to WISP client mode, and it can connect to the internet via WISP nodes. THis way the server and the clients can be anywhere, they just need an internet connection.

To control the vehicle you need the client software(this will be explained in details later). The cleint does n ot connect directly to the vehicle, it connects to the server application. The server is needed to manage user rights login, loguts and chat messages, and it does not use the internet connection of the car for transmitting this data, so it saves bandwith. The actual control messages to the car are only six bytes long. The server can be ran on the same PC with one of the clients. Many clients can connect to the server at the same time, so several people can look at the pictures from the IP cameras. The different functions of the car are divided into three modules: The movement, the camera, and the arm. This system is designed to divide the control between people located far away. Of course there is the possibility for a user to gain control of two or all the three modules. Right after the system startup nobody has the control over these modules, they have to  get it in the client interface. If there are empty modules, you can take the control of those. If you have the control of a module you can give it to other users who have the right to control the car. If you exit without quiting the control first ayone an take it. Connection problems are handled by the software. Each user has an account. There are 5 ranks in the system: Admin, Master,User, Spectator and Banned.

  • Admins have absolute authority over the system they can create and delete accounts, change their rank, change passwords, overtake the full control of the vehicle, and stop all motors even if they don’t control the vehicle
  • Master users have rights similar to admins except for giving master or admin ranks, overtaking control and deleting accounts.
  • Normal users have the right to control the vehicle, but cannot affect the rank system and accounts.
  • Spectators cannot control the vehicle, only watch the camera images and use the chat
  • Banned users cannot get to the main interface, but their account aren’t deleted from the system, and they can be give back the right to log in.

This rank system was developed because it is easier to manage user rights with it.

The communication between the clients and the server, and between the server and the car is using TCP/IP protocol.

The server

The server is written in Microsoft Visual C# 2008 Express. We didn’t use external libraries for the application, it depends only on the .NET framework. It is a console application. After we connect to the car with the server, it accepts input from a TCP/IP connection only. The server is multi threaded, one thread listens for new clients, one handles asynchronous events(e. g. chat messages, overtake of control, or a new user logging in), and one thread per client is opened to process commands. The application has a lot of threads, but it still doesn’t use much reasource because most of the time threads are waiting for  blocking calls. The threads comunicate with a FIFO buffer, this is a good solution because the messages are sent out in time order.  The server stores user data in a binary file, which is loaded on startup, and a binary search tree is built from the data. In this tree the search is very fast compared to iterative search, and this advantage gets bigger with the size of the database. The program logs all events and messages in a file and it also outputs it to console. We also want to implement logging to an SQL database. From this data we can find out the reason of a failure.

The client

The client was written in Microsoft Visual C# Express 2008 and uses WPF for visuals. It uses the GPU so animations won’t slow down the computer, the apllication uses small amount of resources.The application need .NET framework 3.5, so it can be run on Windows XP, Vista or Seven. It is a full screen application, and supports both English and Hungarian languages. The client connects to the server with TCP/IP.

After starting the program, we have to select the language, and connect to the server.  When we log in we get some information about our account, and the the main interface appears, where we can load the camera images, use the chat or take control of the vehicle.

On the chat we can select who will receive our messages, e. g. everyone,only users of a specified rank, or just one user. There are also Profile and Statistics panels providing data about your account and the state of the server.

The program runs on four threads, one for the GUI, an other manages the communication with the server, and two load the camera images. In developing the client we focused on nice looks and the ease of use.


Facebook comments:

    • Et
    • February 9th, 2011 2:40pm

    Szerintem lánctalpas sokkal hatékonyabb lenne

  1. No trackbacks yet.

You must be logged in to post a comment.