This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
projects:3dmosaic [2012/06/13 13:29] claes [3D Mosaic] |
projects:3dmosaic [2021/08/14 04:21] (current) |
||
---|---|---|---|
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 Aviva ===== |
- | [[http://www.ibm.com/ | + | <note important> |
+ | 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]] | + | <del>[[https://mpt-internal.uni-hohenheim.de/3d-mosaic/adana_data.tar.gz|Adana data]] (70 Mb).</ |
- | [[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. |
+ | < | ||
+ | < |