This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
projects:3dmosaic [2012/06/13 13:29] claes [3D Mosaic] |
projects:3dmosaic [2012/09/05 11:34] claes [Data for Eviva] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== 3D Mosaic ====== | ====== 3D Mosaic ====== | ||
- | {{http:// | + | {{http:// |
+ | Project webpage: [[http:// | ||
- | Project webpage: | + | [[http:// |
- | **Vision Group**\\ | + | [[http:// |
- | {{http:// | + | |
+ | ===== Vision Group ===== | ||
+ | {{http:// | ||
From left: | From left: | ||
Jörn, Dejan, Florian, Hans-Werner, | Jörn, Dejan, Florian, Hans-Werner, | ||
+ | ===== Work ===== | ||
[[projects: | [[projects: | ||
- | ===== The Server Program ===== | ||
- | ==== Specs and consideration ==== | ||
- | |||
- | === TCP or UDP === | ||
- | All data that is transmitted should also be received. If the tractor starts to drive before the cameras are done it will cause error in the images. | ||
- | |||
- | Error handling is already implemented in the TCP Protocol. Communication is therefore more secure when using TCP than when using UDP. | ||
- | |||
- | There are no Hard Real-Time demands in the communication between the programs, so the time the TCP uses on error handling is not going to be an issue. | ||
- | |||
- | The protocol is going to be based on a Socket interface using TCP. | ||
- | |||
- | === Network and IP-range === | ||
- | The Network will be a private network using 16-bit IPv4. IP-range on the network will start at 192.168.0.0. The network will be using static IP addresses, the address list is specified below. | ||
- | |||
- | The connection between the programs are made with a standard socket on a specified port. | ||
- | |||
- | The network is made with a switch | ||
- | TrendNet | ||
- | 10/100 Mbps Fast Ethernet Switch | ||
- | Te100-S88Eplus | ||
- | The network will be tested in January, beacause the current network is also for the [[robots: | ||
- | |||
- | ^ Program | ||
- | | Server | ||
- | | Client - Bumblebee | ||
- | | Client - 2D Cam | 192.168.0.3 | Not defined | | ||
- | | Client - LaserScanner | 192.168.0.4 | Not defined | | ||
- | | Ibeo - LaserScanner | ||
- | If anything is missing please let me know so I can update the list. | ||
- | |||
- | |||
- | === Protocol === | ||
- | The protocol will be based on the XML format((http:// | ||
- | |||
- | Most guidelines recommend that data goes in elements, metadata in attributes. This protocol will be compliant with these guidelines((http:// | ||
- | |||
- | == Tags & Attributes == | ||
- | < | ||
- | Is used to indentify each program connected to the server. | ||
- | [Program ID] | ||
- | is the name you chose for your program. The server will use this name for identification. It is stored as a string in the server program. It may contain letters (a-z), numbers (0-9) and spaces ( ). I do not not how Java deals with special charecters (ä, | ||
- | |||
- | It will be encoded in ISO-8859-1 (ISO Latin Alphabet No. 1, a.k.a. ISO-LATIN-1) see [[http:// | ||
- | |||
- | == Detailed description == | ||
- | Programs that want to communicate with the server must send this after succesful connecting to the Socket of The Server Program | ||
- | <sxh xml;> | ||
- | < | ||
- | </ | ||
- | The server will respond with | ||
- | <sxh xml> | ||
- | < | ||
- | </ | ||
- | When the server is ready it will send this to the client | ||
- | <sxh xml> | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | </ | ||
- | </ | ||
- | when the server has transmitted the < | ||
- | This will be sent at 20 Hz to all clients | ||
- | |||
- | Latitude and longitude will be given in degrees; 17 15' 30" -> 17.2583 | ||
- | <sxh xml> | ||
- | <!--Sent from the server--> | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | <height unit=" | ||
- | </ | ||
- | < | ||
- | < | ||
- | < | ||
- | </ | ||
- | < | ||
- | < | ||
- | < | ||
- | </ | ||
- | < | ||
- | < | ||
- | < | ||
- | </ | ||
- | </ | ||
- | </ | ||
- | |||
- | When the tractor has stopped and is waiting for the cameras to take their pictures, the server will wait for this command from the clients | ||
- | <sxh xml> | ||
- | < | ||
- | </ | ||
- | There will be a 2 min timeout on this command. So if there is a problem with one of the clients the rest will continue with the mission. If anyone need more than 2 min let me know. | ||
- | |||
- | If one of the clientprograms need a break from the data send this to the server | ||
- | <sxh xml> | ||
- | <break id=" | ||
- | </ | ||
- | This will stop the data transmission to the client, but the client will still be connected to the server. The sever will respond with | ||
- | <sxh xml> | ||
- | <break id=" | ||
- | </ | ||
- | |||
- | When the client wants to receive data again send | ||
- | <sxh xml> | ||
- | < | ||
- | </ | ||
- | The sever will respond with | ||
- | <sxh xml> | ||
- | <break id=" | ||
- | </ | ||
- | and transmit data in the next 20 Hz program cycle. | ||
- | |||
- | If the client wants to disconnect from the server send this | ||
- | <sxh xml> | ||
- | < | ||
- | </ | ||
- | The sever will respond with | ||
- | <sxh xml> | ||
- | < | ||
- | </ | ||
- | and disconnect the client from th socket. The Server Programm will close the socket 1 second after transmitting the last command. | ||
- | |||
- | == Download examplefile == | ||
- | <file xml protocol.xml> | ||
- | <!--Sent from the server--> | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | <height unit=" | ||
- | </ | ||
- | < | ||
- | < | ||
- | < | ||
- | </ | ||
- | < | ||
- | < | ||
- | < | ||
- | </ | ||
- | < | ||
- | < | ||
- | < | ||
- | </ | ||
- | </ | ||
- | |||
- | <!--Sent from the clients--> | ||
- | < | ||
- | |||
- | <!--when connected to the server sent your program ID to the server--> | ||
- | < | ||
- | |||
- | <!--the server will respond with--> | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | |||
- | <!--If the client program needs a break--> | ||
- | <break id=" | ||
- | <!--the server will respond with--> | ||
- | <break id=" | ||
- | |||
- | <!--When the break is over--> | ||
- | < | ||
- | <!--the server will respond with--> | ||
- | <break id=" | ||
- | |||
- | < | ||
- | < | ||
- | |||
- | </ | ||
- | |||
- | ==== The Server Program ==== | ||
- | The program will be developed in Java. It will accept multiple clients. | ||
- | Each new tag will be sent in a new string. This means that the < | + | [[projects:3dmosaic:server_program|The Server Program]] |
- | <sxh xml> | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | </ | + | |
- | </ | + | |
- | The < | ||
- | <sxh xml> | ||
- | < | ||
- | </ | ||
- | The < | + | ==== Papers ==== |
- | <sxh xml> | + | Notes for Claes so he can remember which papers he should write! |
- | < | + | - ECPA, Vincent, Jörn, Micha and I -> platform |
- | <server-start> | + | - Eviva, Jörn and I - something with LIDAR |
- | <gnss-time> | + | - LIDAR with Jörn, Adana, part 1 - Sensors |
- | < | + | - LIDAR/Cam, Jörn, Vincent, Claes, Potsdam, part 2 - Sensors |
- | </ | + | - Mapping in Adana, Claes |
- | ==== References | + | ===== Data for Eviva ===== |
- | [[http:// | + | Click the links to download the data files. The files are tar.gz but it shoul be possible to extract them with winrar, winzip or similar programs. |
- | [[http://www.w3schools.com/dtd/dtd_el_vs_attr.asp|W3 Schools XML DTD]] | + | [[https://mpt-internal.uni-hohenheim.de/3d-mosaic/adana_data.tar.gz|Adana data]] (70 Mb). Here is both the horizontal and vertical laser data, together with the GNSS data for each row. The GNSS file is in the folder for each row. The PNTL strings are wrong, so use only the GGA. In the horizontal data row 2 and 3 are not there. I don´t know why, I some how did not notice until I had to use the data. |
- | [[http:// | + | The programs used for loggin in Potsdam where different that why the files are bigger. There are only GGA sting in the gps files. I have not found error like in the horizontal adana data. |
+ | [[https:// | ||
+ | [[https:// |