Browse Source

add data_path param, controller save cloud with msg received, region detect result print selection, plc elecfence communication.

youchen 5 years ago
parent
commit
410e5463c1

+ 210 - 0
cloud_scan3.txt

@@ -0,0 +1,210 @@
+2.745 -1.430 0.000
+2.778 -1.426 0.000
+2.814 -1.424 0.000
+2.846 -1.421 0.000
+2.870 -1.414 0.000
+2.886 -1.404 0.000
+2.898 -1.393 0.000
+2.904 -1.379 0.000
+2.906 -1.364 0.000
+2.909 -1.348 0.000
+2.905 -1.330 0.000
+2.901 -1.311 0.000
+2.891 -1.289 0.000
+2.888 -1.271 0.000
+2.909 -1.264 0.000
+3.049 -1.317 0.000
+3.115 -1.334 0.000
+3.125 -1.323 0.000
+3.120 -1.305 0.000
+3.127 -1.292 0.000
+3.145 -1.286 0.000
+3.137 -1.266 0.000
+3.130 -1.246 0.000
+3.139 -1.234 0.000
+3.148 -1.223 0.000
+3.157 -1.212 0.000
+3.143 -1.187 0.000
+3.116 -1.155 0.000
+3.039 -1.092 0.000
+2.908 -0.995 0.000
+2.877 -0.957 0.000
+2.885 -0.943 0.000
+2.888 -0.925 0.000
+2.895 -0.910 0.000
+2.904 -0.897 0.000
+2.942 -0.902 0.000
+3.112 -0.995 0.000
+3.224 -1.052 0.000
+3.270 -1.066 0.000
+3.306 -1.073 0.000
+3.350 -1.087 0.000
+3.405 -1.109 0.000
+3.427 -1.108 0.000
+3.400 -1.073 0.000
+2.971 -0.700 0.000
+2.951 -0.665 0.000
+2.881 -0.589 0.000
+2.840 -0.535 0.000
+2.835 -0.509 0.000
+2.813 -0.248 0.000
+2.813 -0.222 0.000
+2.817 -0.199 0.000
+2.811 -0.168 0.000
+2.810 -0.140 0.000
+2.811 -0.114 0.000
+2.811 -0.088 0.000
+2.815 -0.064 0.000
+2.818 -0.039 0.000
+4.273 -1.407 0.000
+4.282 -1.404 0.000
+4.290 -1.402 0.000
+4.304 -1.404 0.000
+4.318 -1.406 0.000
+4.328 -1.405 0.000
+4.342 -1.409 0.000
+4.353 -1.409 0.000
+4.362 -1.407 0.000
+4.373 -1.408 0.000
+4.382 -1.406 0.000
+4.392 -1.405 0.000
+4.403 -1.406 0.000
+4.410 -1.402 0.000
+4.420 -1.402 0.000
+4.428 -1.400 0.000
+4.436 -1.397 0.000
+4.446 -1.397 0.000
+4.454 -1.395 0.000
+4.460 -1.390 0.000
+4.466 -1.385 0.000
+4.469 -1.377 0.000
+4.472 -1.368 0.000
+4.476 -1.360 0.000
+4.479 -1.351 0.000
+4.482 -1.343 0.000
+4.483 -1.330 0.000
+4.483 -1.316 0.000
+4.482 -1.301 0.000
+4.478 -1.282 0.000
+4.474 -1.261 0.000
+4.469 -1.239 0.000
+4.468 -1.223 0.000
+4.468 -1.208 0.000
+4.471 -1.197 0.000
+4.466 -1.174 0.000
+4.457 -1.142 0.000
+4.452 -1.119 0.000
+4.452 -1.100 0.000
+4.452 -1.085 0.000
+4.457 -1.074 0.000
+4.465 -1.070 0.000
+4.465 -1.052 0.000
+4.463 -1.030 0.000
+4.464 -1.013 0.000
+4.467 -0.999 0.000
+4.471 -0.986 0.000
+4.472 -0.968 0.000
+4.474 -0.951 0.000
+4.478 -0.939 0.000
+4.312 1.395 0.000
+4.337 1.391 0.000
+4.360 1.390 0.000
+4.383 1.393 0.000
+4.406 1.395 0.000
+4.430 1.395 0.000
+4.452 1.400 0.000
+4.472 1.413 0.000
+4.483 1.477 0.000
+4.482 1.599 0.000
+4.484 1.719 0.000
+6.041 1.828 0.000
+6.055 1.769 0.000
+6.059 1.654 0.000
+6.065 1.560 0.000
+6.072 1.480 0.000
+6.093 1.463 0.000
+6.115 1.455 0.000
+6.138 1.455 0.000
+6.162 1.456 0.000
+6.186 1.456 0.000
+6.211 1.460 0.000
+6.235 1.460 0.000
+6.276 1.529 0.000
+7.632 2.092 0.000
+7.603 1.974 0.000
+7.611 1.927 0.000
+6.192 -0.764 0.000
+6.186 -0.798 0.000
+6.186 -0.820 0.000
+6.188 -0.838 0.000
+6.190 -0.855 0.000
+6.194 -0.869 0.000
+6.196 -0.887 0.000
+6.199 -0.901 0.000
+6.203 -0.915 0.000
+6.207 -0.928 0.000
+6.205 -0.950 0.000
+6.205 -0.969 0.000
+6.205 -0.988 0.000
+6.207 -1.002 0.000
+6.209 -1.018 0.000
+6.210 -1.033 0.000
+6.211 -1.050 0.000
+6.206 -1.074 0.000
+6.203 -1.095 0.000
+6.200 -1.115 0.000
+6.201 -1.130 0.000
+6.201 -1.146 0.000
+6.203 -1.160 0.000
+6.206 -1.170 0.000
+6.208 -1.183 0.000
+6.211 -1.194 0.000
+6.217 -1.202 0.000
+6.222 -1.209 0.000
+6.229 -1.215 0.000
+6.235 -1.221 0.000
+6.243 -1.226 0.000
+6.253 -1.228 0.000
+6.264 -1.229 0.000
+6.278 -1.226 0.000
+6.287 -1.229 0.000
+6.300 -1.228 0.000
+6.315 -1.225 0.000
+6.324 -1.229 0.000
+6.338 -1.227 0.000
+6.351 -1.226 0.000
+6.364 -1.227 0.000
+6.381 -1.222 0.000
+6.394 -1.222 0.000
+6.406 -1.223 0.000
+7.763 -0.634 0.000
+7.762 -0.657 0.000
+7.760 -0.680 0.000
+7.758 -0.703 0.000
+7.762 -0.722 0.000
+7.765 -0.741 0.000
+7.771 -0.757 0.000
+7.773 -0.777 0.000
+7.781 -0.793 0.000
+7.783 -0.812 0.000
+7.788 -0.829 0.000
+7.786 -0.851 0.000
+7.791 -0.869 0.000
+7.790 -0.889 0.000
+7.792 -0.908 0.000
+7.792 -0.928 0.000
+7.789 -0.950 0.000
+7.787 -0.971 0.000
+7.783 -0.992 0.000
+7.782 -1.012 0.000
+7.780 -1.032 0.000
+7.781 -1.051 0.000
+7.782 -1.069 0.000
+7.787 -1.085 0.000
+7.794 -1.100 0.000
+7.799 -1.116 0.000
+7.816 -1.127 0.000
+7.838 -1.134 0.000
+7.867 -1.138 0.000
+7.908 -1.137 0.000
+7.943 -1.139 0.000

+ 87 - 0
cloud_scan4.txt

@@ -0,0 +1,87 @@
+11.354 -1.162 0.000
+11.291 -1.111 0.000
+11.281 -1.156 0.000
+7.963 -0.908 0.000
+7.960 -0.784 0.000
+7.958 -0.663 0.000
+7.944 -0.605 0.000
+7.923 -0.587 0.000
+7.901 -0.578 0.000
+7.876 -0.579 0.000
+7.852 -0.577 0.000
+7.827 -0.578 0.000
+7.802 -0.581 0.000
+7.776 -0.584 0.000
+7.752 -0.581 0.000
+7.865 1.655 0.000
+7.861 1.674 0.000
+7.863 1.702 0.000
+7.860 1.723 0.000
+7.857 1.741 0.000
+7.854 1.759 0.000
+7.848 1.771 0.000
+7.843 1.785 0.000
+7.840 1.803 0.000
+7.839 1.823 0.000
+7.840 1.848 0.000
+7.839 1.866 0.000
+7.837 1.885 0.000
+7.837 1.905 0.000
+7.837 1.926 0.000
+7.837 1.945 0.000
+7.840 1.970 0.000
+7.846 1.999 0.000
+7.848 2.021 0.000
+7.848 2.039 0.000
+7.847 2.055 0.000
+7.843 2.068 0.000
+7.839 2.078 0.000
+7.835 2.089 0.000
+7.829 2.098 0.000
+7.822 2.105 0.000
+7.816 2.113 0.000
+7.810 2.120 0.000
+7.799 2.122 0.000
+7.788 2.123 0.000
+7.779 2.126 0.000
+7.767 2.126 0.000
+7.754 2.125 0.000
+7.741 2.124 0.000
+7.729 2.123 0.000
+7.717 2.124 0.000
+7.705 2.124 0.000
+7.691 2.123 0.000
+7.680 2.125 0.000
+7.664 2.122 0.000
+7.652 2.122 0.000
+7.638 2.122 0.000
+7.624 2.121 0.000
+6.297 1.574 0.000
+6.292 1.593 0.000
+6.292 1.615 0.000
+6.294 1.639 0.000
+6.296 1.662 0.000
+6.289 1.680 0.000
+6.286 1.699 0.000
+6.282 1.718 0.000
+6.279 1.736 0.000
+6.276 1.756 0.000
+6.276 1.777 0.000
+6.271 1.794 0.000
+6.270 1.815 0.000
+6.271 1.836 0.000
+6.274 1.858 0.000
+6.274 1.879 0.000
+6.277 1.901 0.000
+6.276 1.920 0.000
+6.275 1.939 0.000
+6.275 1.959 0.000
+6.271 1.977 0.000
+6.266 1.993 0.000
+6.261 2.009 0.000
+6.252 2.023 0.000
+6.236 2.034 0.000
+6.214 2.041 0.000
+6.179 2.040 0.000
+6.139 2.038 0.000
+6.099 2.037 0.000

+ 98 - 0
cloud_scan5.txt

@@ -0,0 +1,98 @@
+13.082 1.570 0.000
+13.080 1.455 0.000
+13.089 1.388 0.000
+13.085 1.270 0.000
+13.099 1.234 0.000
+13.119 1.223 0.000
+13.141 1.218 0.000
+13.163 1.217 0.000
+13.186 1.218 0.000
+13.209 1.219 0.000
+13.233 1.220 0.000
+13.071 -0.847 0.000
+13.054 -0.901 0.000
+13.053 -0.922 0.000
+13.056 -0.939 0.000
+13.060 -0.952 0.000
+13.063 -0.968 0.000
+13.064 -0.986 0.000
+13.066 -1.001 0.000
+13.071 -1.013 0.000
+13.074 -1.027 0.000
+13.075 -1.044 0.000
+13.063 -1.080 0.000
+13.054 -1.113 0.000
+13.052 -1.132 0.000
+13.052 -1.150 0.000
+13.054 -1.164 0.000
+13.060 -1.171 0.000
+13.069 -1.173 0.000
+13.070 -1.188 0.000
+13.060 -1.218 0.000
+13.058 -1.236 0.000
+13.059 -1.250 0.000
+13.055 -1.271 0.000
+13.051 -1.291 0.000
+13.050 -1.306 0.000
+13.052 -1.318 0.000
+13.055 -1.328 0.000
+13.058 -1.337 0.000
+13.062 -1.345 0.000
+13.066 -1.353 0.000
+13.071 -1.360 0.000
+13.079 -1.363 0.000
+13.088 -1.366 0.000
+13.095 -1.370 0.000
+13.105 -1.371 0.000
+13.114 -1.373 0.000
+13.124 -1.373 0.000
+13.133 -1.376 0.000
+13.143 -1.377 0.000
+13.155 -1.377 0.000
+13.165 -1.378 0.000
+13.176 -1.378 0.000
+13.186 -1.380 0.000
+13.197 -1.380 0.000
+13.209 -1.380 0.000
+13.217 -1.384 0.000
+14.573 -0.718 0.000
+14.593 -0.725 0.000
+14.619 -0.728 0.000
+14.643 -0.731 0.000
+14.626 -0.764 0.000
+14.535 -0.849 0.000
+14.530 -0.872 0.000
+14.526 -0.894 0.000
+14.525 -0.915 0.000
+14.528 -0.932 0.000
+14.534 -0.948 0.000
+14.539 -0.963 0.000
+14.549 -0.977 0.000
+14.567 -0.984 0.000
+14.586 -0.991 0.000
+14.599 -1.003 0.000
+14.593 -1.025 0.000
+14.550 -1.070 0.000
+14.533 -1.098 0.000
+14.518 -1.125 0.000
+14.518 -1.143 0.000
+14.526 -1.156 0.000
+14.532 -1.170 0.000
+14.558 -1.174 0.000
+14.599 -1.170 0.000
+14.609 -1.183 0.000
+14.619 -1.195 0.000
+14.665 -1.189 0.000
+14.594 -1.244 0.000
+14.540 -1.288 0.000
+14.528 -1.311 0.000
+14.523 -1.330 0.000
+14.519 -1.349 0.000
+14.518 -1.366 0.000
+14.525 -1.379 0.000
+14.529 -1.394 0.000
+14.544 -1.403 0.000
+14.567 -1.410 0.000
+14.601 -1.411 0.000
+14.635 -1.413 0.000
+14.701 -1.402 0.000

+ 1 - 1
src/findwheel/CMakeLists.txt

@@ -163,7 +163,7 @@ add_executable(${PROJECT_NAME}_node
     src/tools/globalmsg.pb.cc
     src/tools/s7_plc.cpp
     src/PlcData.cpp)
-target_link_libraries(${PROJECT_NAME}_node ${catkin_LIBRARIES} ${PCL_LIBRARIES} ${PROTOBUF_LIBRARIES} snap7 libnnxx.a libnanomsg.so ${OpenCV_LIBS})
+target_link_libraries(${PROJECT_NAME}_node ${catkin_LIBRARIES} ${PCL_LIBRARIES} ${PROTOBUF_LIBRARIES} snap7 libnnxx.a libnanomsg.so ${OpenCV_LIBS} libglog.a libgflags.a)
 
 ## Rename C++ executable without prefix
 ## The above recommended prefix causes long target names, the following renames the

BIN
src/findwheel/bag/suv_black.bag


+ 397 - 0
src/findwheel/data/2019-12-22_21:02:33.txt

@@ -0,0 +1,397 @@
+2.744631 -1.429858 0.000000
+2.780179 -1.427063 0.000000
+2.813821 -1.423892 0.000000
+2.848338 -1.421462 0.000000
+2.868976 -1.413574 0.000000
+2.886866 -1.404711 0.000000
+2.898358 -1.393229 0.000000
+2.903501 -1.379015 0.000000
+2.905993 -1.363597 0.000000
+2.906763 -1.347342 0.000000
+2.903106 -1.328960 0.000000
+2.899584 -1.310498 0.000000
+2.891683 -1.289804 0.000000
+2.887544 -1.270725 0.000000
+2.908673 -1.263915 0.000000
+3.043437 -1.314016 0.000000
+3.113297 -1.333122 0.000000
+3.124148 -1.322849 0.000000
+3.116422 -1.302962 0.000000
+3.125654 -1.291825 0.000000
+3.141993 -1.284536 0.000000
+3.132863 -1.263552 0.000000
+3.124782 -1.242905 0.000000
+3.133457 -1.231392 0.000000
+3.143063 -1.220431 0.000000
+3.150122 -1.208049 0.000000
+3.135643 -1.183137 0.000000
+3.106739 -1.149382 0.000000
+3.021496 -1.081402 0.000000
+2.901900 -0.991156 0.000000
+2.880462 -0.959076 0.000000
+2.883950 -0.942003 0.000000
+2.888403 -0.925453 0.000000
+2.894653 -0.909981 0.000000
+2.902683 -0.895616 0.000000
+2.938417 -0.899357 0.000000
+3.096576 -0.984642 0.000000
+3.227084 -1.053886 0.000000
+3.269026 -1.065034 0.000000
+3.302528 -1.070956 0.000000
+3.348202 -1.085794 0.000000
+3.404259 -1.108608 0.000000
+3.426614 -1.108206 0.000000
+3.394608 -1.068774 0.000000
+2.971330 -0.700872 0.000000
+2.952736 -0.665739 0.000000
+2.876578 -0.585869 0.000000
+2.839172 -0.534511 0.000000
+2.831365 -0.505533 0.000000
+2.812514 -0.247368 0.000000
+2.816304 -0.225071 0.000000
+2.816566 -0.199387 0.000000
+2.812623 -0.169575 0.000000
+2.811876 -0.142364 0.000000
+2.812091 -0.115753 0.000000
+2.810359 -0.087001 0.000000
+2.817530 -0.066465 0.000000
+2.819839 -0.041054 0.000000
+4.271606 -1.406004 0.000000
+4.281048 -1.403775 0.000000
+4.291174 -1.402343 0.000000
+4.305411 -1.405348 0.000000
+4.318213 -1.407024 0.000000
+4.328243 -1.405880 0.000000
+4.342305 -1.409243 0.000000
+4.353612 -1.409769 0.000000
+4.364215 -1.409647 0.000000
+4.374126 -1.408864 0.000000
+4.382041 -1.405903 0.000000
+4.392574 -1.406026 0.000000
+4.403075 -1.406238 0.000000
+4.409676 -1.401950 0.000000
+4.420138 -1.402314 0.000000
+4.430567 -1.402765 0.000000
+4.435281 -1.396321 0.000000
+4.445055 -1.396133 0.000000
+4.456046 -1.397588 0.000000
+4.460816 -1.391271 0.000000
+4.465632 -1.384975 0.000000
+4.469887 -1.377906 0.000000
+4.473592 -1.370055 0.000000
+4.476762 -1.361410 0.000000
+4.480006 -1.352766 0.000000
+4.482144 -1.342509 0.000000
+4.483204 -1.330619 0.000000
+4.482056 -1.315447 0.000000
+4.481057 -1.300225 0.000000
+4.477926 -1.281669 0.000000
+4.474419 -1.262215 0.000000
+4.469989 -1.241027 0.000000
+4.466891 -1.221409 0.000000
+4.468407 -1.208390 0.000000
+4.471687 -1.197860 0.000000
+4.467478 -1.175559 0.000000
+4.455986 -1.141356 0.000000
+4.451781 -1.117987 0.000000
+4.450982 -1.099625 0.000000
+4.452458 -1.084622 0.000000
+4.458217 -1.076439 0.000000
+4.465067 -1.069995 0.000000
+4.466388 -1.054105 0.000000
+4.463347 -1.030400 0.000000
+4.464532 -1.013557 0.000000
+4.466869 -0.998421 0.000000
+4.469842 -0.984139 0.000000
+4.472473 -0.968967 0.000000
+4.473823 -0.951139 0.000000
+4.478183 -0.938570 0.000000
+4.312131 1.394657 0.000000
+4.336298 1.392422 0.000000
+4.360173 1.391008 0.000000
+4.383545 1.391393 0.000000
+4.406227 1.394561 0.000000
+4.429563 1.394665 0.000000
+4.451820 1.399516 0.000000
+4.472061 1.414026 0.000000
+4.482309 1.478413 0.000000
+4.482086 1.599718 0.000000
+4.483249 1.721154 0.000000
+6.041417 1.831303 0.000000
+6.055571 1.769746 0.000000
+6.058842 1.655140 0.000000
+6.063917 1.556337 0.000000
+6.071673 1.476232 0.000000
+6.092319 1.461738 0.000000
+6.114303 1.453978 0.000000
+6.138397 1.455856 0.000000
+6.161650 1.453684 0.000000
+6.186279 1.457215 0.000000
+6.210276 1.457674 0.000000
+6.235269 1.461868 0.000000
+6.275567 1.526003 0.000000
+7.632386 2.092640 0.000000
+7.602056 1.971890 0.000000
+7.611067 1.927427 0.000000
+6.193953 -0.760044 0.000000
+6.187041 -0.795098 0.000000
+6.185179 -0.820446 0.000000
+6.187040 -0.838781 0.000000
+6.190228 -0.854490 0.000000
+6.192248 -0.871904 0.000000
+6.194610 -0.888430 0.000000
+6.199921 -0.899799 0.000000
+6.204084 -0.912882 0.000000
+6.204957 -0.931056 0.000000
+6.204051 -0.951727 0.000000
+6.204012 -0.970649 0.000000
+6.205414 -0.987002 0.000000
+6.205013 -1.005831 0.000000
+6.209400 -1.017107 0.000000
+6.209784 -1.034195 0.000000
+6.210001 -1.051240 0.000000
+6.204947 -1.075652 0.000000
+6.201929 -1.096677 0.000000
+6.200428 -1.115170 0.000000
+6.200488 -1.131159 0.000000
+6.200980 -1.146294 0.000000
+6.203100 -1.158970 0.000000
+6.203913 -1.173234 0.000000
+6.207593 -1.183465 0.000000
+6.211185 -1.193697 0.000000
+6.215910 -1.202342 0.000000
+6.221180 -1.210211 0.000000
+6.227009 -1.217315 0.000000
+6.235280 -1.221317 0.000000
+6.243537 -1.225375 0.000000
+6.252412 -1.228713 0.000000
+6.263191 -1.229801 0.000000
+6.277839 -1.226370 0.000000
+6.288039 -1.228414 0.000000
+6.299550 -1.229017 0.000000
+6.311743 -1.228958 0.000000
+6.335175 -1.216214 0.000000
+6.342204 -1.222410 0.000000
+6.352536 -1.224924 0.000000
+6.362875 -1.227518 0.000000
+6.379983 -1.222826 0.000000
+6.393780 -1.221956 0.000000
+6.403514 -1.225578 0.000000
+7.762633 -0.634393 0.000000
+7.760803 -0.657603 0.000000
+7.758788 -0.680731 0.000000
+7.757409 -0.703205 0.000000
+7.760802 -0.722211 0.000000
+7.764886 -0.740636 0.000000
+7.770503 -0.757940 0.000000
+7.774333 -0.776354 0.000000
+7.780548 -0.793117 0.000000
+7.782448 -0.812603 0.000000
+7.788425 -0.829374 0.000000
+7.786670 -0.850943 0.000000
+7.788999 -0.869805 0.000000
+7.792047 -0.888118 0.000000
+7.792398 -0.907964 0.000000
+7.793464 -0.927250 0.000000
+7.790080 -0.949029 0.000000
+7.785663 -0.971220 0.000000
+7.784545 -0.991323 0.000000
+7.781537 -1.012346 0.000000
+7.780991 -1.031826 0.000000
+7.782056 -1.050290 0.000000
+7.783871 -1.068242 0.000000
+7.786445 -1.085698 0.000000
+7.794209 -1.100342 0.000000
+7.799226 -1.116414 0.000000
+7.815713 -1.126576 0.000000
+7.835740 -1.135086 0.000000
+7.866498 -1.138443 0.000000
+7.906283 -1.137715 0.000000
+7.941661 -1.139580 0.000000
+12.085181 -2.456760 0.000000
+7.963991 -0.902714 0.000000
+7.961595 -0.775186 0.000000
+7.957629 -0.663493 0.000000
+7.945583 -0.598980 0.000000
+7.923631 -0.586392 0.000000
+7.900973 -0.577598 0.000000
+7.876482 -0.577475 0.000000
+7.852182 -0.576226 0.000000
+7.827420 -0.576780 0.000000
+7.801934 -0.580102 0.000000
+7.776143 -0.584236 0.000000
+7.752195 -0.580441 0.000000
+7.865812 1.657007 0.000000
+7.862097 1.675599 0.000000
+7.864000 1.704874 0.000000
+7.860262 1.722508 0.000000
+7.857625 1.741899 0.000000
+7.853311 1.757727 0.000000
+7.850570 1.776189 0.000000
+7.845143 1.789356 0.000000
+7.840806 1.804281 0.000000
+7.839055 1.823562 0.000000
+7.839965 1.847156 0.000000
+7.837129 1.863748 0.000000
+7.837478 1.885503 0.000000
+7.838048 1.907199 0.000000
+7.836785 1.925403 0.000000
+7.837777 1.946989 0.000000
+7.842131 1.973623 0.000000
+7.846764 2.000154 0.000000
+7.849007 2.022352 0.000000
+7.849862 2.041945 0.000000
+7.847110 2.055604 0.000000
+7.843391 2.067574 0.000000
+7.839780 2.079540 0.000000
+7.834046 2.088181 0.000000
+7.828945 2.097669 0.000000
+7.822787 2.105523 0.000000
+7.818407 2.115863 0.000000
+7.810076 2.120492 0.000000
+7.800604 2.123546 0.000000
+7.788789 2.123425 0.000000
+7.778123 2.125010 0.000000
+7.766252 2.125068 0.000000
+7.755549 2.126819 0.000000
+7.739992 2.122282 0.000000
+7.727398 2.121843 0.000000
+7.715993 2.123084 0.000000
+7.702712 2.122057 0.000000
+7.691878 2.124267 0.000000
+7.679778 2.125002 0.000000
+7.664488 2.121960 0.000000
+7.651675 2.122136 0.000000
+7.636902 2.120114 0.000000
+7.623361 2.119746 0.000000
+6.296672 1.574066 0.000000
+6.293768 1.594406 0.000000
+6.292621 1.615913 0.000000
+6.294859 1.639745 0.000000
+6.294058 1.661132 0.000000
+6.289365 1.679546 0.000000
+6.287248 1.699692 0.000000
+6.285281 1.719803 0.000000
+6.280999 1.738168 0.000000
+6.278498 1.757653 0.000000
+6.272827 1.774869 0.000000
+6.272261 1.795426 0.000000
+6.271850 1.815932 0.000000
+6.272431 1.836933 0.000000
+6.274014 1.858413 0.000000
+6.275763 1.879819 0.000000
+6.275982 1.900089 0.000000
+6.276353 1.920302 0.000000
+6.275167 1.939416 0.000000
+6.275834 1.959525 0.000000
+6.270634 1.975995 0.000000
+6.266404 1.992982 0.000000
+6.262288 2.009968 0.000000
+6.253076 2.023976 0.000000
+6.236102 2.033622 0.000000
+6.213913 2.040502 0.000000
+6.177691 2.039897 0.000000
+6.136099 2.036813 0.000000
+6.097033 2.035577 0.000000
+13.082236 1.572356 0.000000
+13.080239 1.453978 0.000000
+13.088829 1.387401 0.000000
+13.084902 1.271237 0.000000
+13.099047 1.234927 0.000000
+13.118611 1.221865 0.000000
+13.140036 1.216451 0.000000
+13.163203 1.217684 0.000000
+13.185639 1.215875 0.000000
+13.209411 1.218750 0.000000
+13.233249 1.221473 0.000000
+13.071528 -0.845491 0.000000
+13.053082 -0.901477 0.000000
+13.051963 -0.924837 0.000000
+13.055504 -0.939414 0.000000
+13.060390 -0.951374 0.000000
+13.062162 -0.968534 0.000000
+13.064271 -0.984799 0.000000
+13.065710 -1.001899 0.000000
+13.070071 -1.013823 0.000000
+13.074323 -1.025748 0.000000
+13.075839 -1.041928 0.000000
+13.062881 -1.080969 0.000000
+13.053244 -1.113896 0.000000
+13.051895 -1.133197 0.000000
+13.051440 -1.150760 0.000000
+13.053560 -1.164095 0.000000
+13.059436 -1.171586 0.000000
+13.069170 -1.173300 0.000000
+13.069884 -1.188291 0.000000
+13.059641 -1.218871 0.000000
+13.057680 -1.237003 0.000000
+13.059009 -1.250176 0.000000
+13.054380 -1.271445 0.000000
+13.050710 -1.291000 0.000000
+13.050397 -1.305641 0.000000
+13.050541 -1.319435 0.000000
+13.052962 -1.329999 0.000000
+13.058323 -1.336577 0.000000
+13.061192 -1.346344 0.000000
+13.065207 -1.354531 0.000000
+13.071638 -1.359591 0.000000
+13.078665 -1.363907 0.000000
+13.086930 -1.366713 0.000000
+13.094559 -1.370352 0.000000
+13.104730 -1.370965 0.000000
+13.112994 -1.373957 0.000000
+13.123198 -1.374721 0.000000
+13.132118 -1.377085 0.000000
+13.143012 -1.377252 0.000000
+13.152614 -1.379011 0.000000
+13.164222 -1.378604 0.000000
+13.175867 -1.378297 0.000000
+13.186201 -1.379566 0.000000
+13.197909 -1.379449 0.000000
+13.209652 -1.379431 0.000000
+13.217309 -1.383877 0.000000
+14.572469 -0.718470 0.000000
+14.593098 -0.724676 0.000000
+14.617798 -0.728150 0.000000
+14.642538 -0.731853 0.000000
+14.628803 -0.762725 0.000000
+14.535806 -0.847941 0.000000
+14.530292 -0.871712 0.000000
+14.525410 -0.894805 0.000000
+14.524501 -0.915017 0.000000
+14.525944 -0.933519 0.000000
+14.533123 -0.948175 0.000000
+14.539368 -0.963402 0.000000
+14.548051 -0.977047 0.000000
+14.565138 -0.985448 0.000000
+14.586463 -0.991376 0.000000
+14.598400 -1.003217 0.000000
+14.590558 -1.026982 0.000000
+14.549826 -1.069970 0.000000
+14.531124 -1.099316 0.000000
+14.516492 -1.125899 0.000000
+14.518146 -1.142870 0.000000
+14.525784 -1.156388 0.000000
+14.534220 -1.169467 0.000000
+14.558379 -1.173974 0.000000
+14.598413 -1.170185 0.000000
+14.608541 -1.182764 0.000000
+14.616833 -1.196344 0.000000
+14.665034 -1.189338 0.000000
+14.588621 -1.246338 0.000000
+14.539342 -1.288508 0.000000
+14.527307 -1.311453 0.000000
+14.522276 -1.330714 0.000000
+14.518905 -1.349012 0.000000
+14.519015 -1.365524 0.000000
+14.524451 -1.379466 0.000000
+14.529804 -1.393435 0.000000
+14.543276 -1.403725 0.000000
+14.567672 -1.409262 0.000000
+14.600327 -1.411440 0.000000
+14.634873 -1.413171 0.000000
+14.707230 -1.399272 0.000000
+7.790135 1.989076 0.000000
+6.241527 -1.088052 0.000000
+7.818360 -0.841535 0.000000
+6.233300 1.751558 0.000000

+ 397 - 0
src/findwheel/data/2019-12-22_21:02:36.txt

@@ -0,0 +1,397 @@
+2.745561 -1.430225 0.000000
+2.778322 -1.426318 0.000000
+2.813821 -1.423892 0.000000
+2.844642 -1.419930 0.000000
+2.869898 -1.413963 0.000000
+2.884108 -1.403530 0.000000
+2.898358 -1.393229 0.000000
+2.903501 -1.379015 0.000000
+2.905080 -1.363187 0.000000
+2.906763 -1.347342 0.000000
+2.905829 -1.330220 0.000000
+2.899584 -1.310498 0.000000
+2.891683 -1.289804 0.000000
+2.888444 -1.271161 0.000000
+2.905981 -1.262591 0.000000
+3.045227 -1.314909 0.000000
+3.112405 -1.332671 0.000000
+3.123259 -1.322392 0.000000
+3.119970 -1.304810 0.000000
+3.125654 -1.291825 0.000000
+3.141993 -1.284536 0.000000
+3.134621 -1.264507 0.000000
+3.125658 -1.243388 0.000000
+3.133457 -1.231392 0.000000
+3.146544 -1.222402 0.000000
+3.154458 -1.210538 0.000000
+3.139101 -1.185148 0.000000
+3.109323 -1.150906 0.000000
+3.037807 -1.091146 0.000000
+2.907889 -0.994781 0.000000
+2.876200 -0.956462 0.000000
+2.882252 -0.940947 0.000000
+2.886710 -0.924388 0.000000
+2.893810 -0.909444 0.000000
+2.901844 -0.895073 0.000000
+2.940090 -0.900451 0.000000
+3.094075 -0.982985 0.000000
+3.223762 -1.051657 0.000000
+3.267371 -1.063910 0.000000
+3.302528 -1.070956 0.000000
+3.346560 -1.084651 0.000000
+3.405893 -1.109760 0.000000
+3.429056 -1.109949 0.000000
+3.395418 -1.069360 0.000000
+2.969729 -0.699673 0.000000
+2.953533 -0.666344 0.000000
+2.878164 -0.587087 0.000000
+2.841541 -0.536352 0.000000
+2.834509 -0.508006 0.000000
+2.817006 -0.251346 0.000000
+2.814815 -0.223737 0.000000
+2.816566 -0.199387 0.000000
+2.814096 -0.170927 0.000000
+2.811142 -0.141684 0.000000
+2.809904 -0.113699 0.000000
+2.812534 -0.089066 0.000000
+2.812483 -0.061615 0.000000
+2.820556 -0.041752 0.000000
+4.272307 -1.406718 0.000000
+4.281745 -1.404493 0.000000
+4.291174 -1.402343 0.000000
+4.303347 -1.403171 0.000000
+4.316845 -1.405565 0.000000
+4.328922 -1.406613 0.000000
+4.342305 -1.409243 0.000000
+4.352942 -1.409028 0.000000
+4.363549 -1.408901 0.000000
+4.374126 -1.408864 0.000000
+4.383357 -1.407409 0.000000
+4.391267 -1.404513 0.000000
+4.401777 -1.404717 0.000000
+4.409031 -1.401186 0.000000
+4.420138 -1.402314 0.000000
+4.429296 -1.401221 0.000000
+4.437174 -1.398648 0.000000
+4.444427 -1.395353 0.000000
+4.453557 -1.394456 0.000000
+4.460199 -1.390485 0.000000
+4.466858 -1.386555 0.000000
+4.468670 -1.376319 0.000000
+4.472384 -1.368460 0.000000
+4.476762 -1.361410 0.000000
+4.478817 -1.351158 0.000000
+4.481554 -1.341702 0.000000
+4.482035 -1.328997 0.000000
+4.483797 -1.317891 0.000000
+4.482208 -1.301861 0.000000
+4.478497 -1.282490 0.000000
+4.473287 -1.260566 0.000000
+4.469428 -1.240199 0.000000
+4.466891 -1.221409 0.000000
+4.468407 -1.208390 0.000000
+4.470594 -1.196185 0.000000
+4.466937 -1.174718 0.000000
+4.457060 -1.143044 0.000000
+4.451249 -1.117140 0.000000
+4.450982 -1.099625 0.000000
+4.452980 -1.085475 0.000000
+4.457182 -1.074727 0.000000
+4.465067 -1.069995 0.000000
+4.466388 -1.054105 0.000000
+4.462845 -1.029536 0.000000
+4.464035 -1.012689 0.000000
+4.467853 -1.000162 0.000000
+4.469356 -0.983265 0.000000
+4.471991 -0.968090 0.000000
+4.473346 -0.950260 0.000000
+4.477711 -0.937688 0.000000
+4.312619 1.392717 0.000000
+4.335821 1.394364 0.000000
+4.359940 1.391980 0.000000
+4.383772 1.390419 0.000000
+4.406448 1.393586 0.000000
+4.429131 1.396618 0.000000
+4.451820 1.399516 0.000000
+4.471447 1.416963 0.000000
+4.481911 1.480373 0.000000
+4.482665 1.596774 0.000000
+4.483623 1.719189 0.000000
+4.470911 1.923346 0.000000
+6.041062 1.829335 0.000000
+6.055388 1.768763 0.000000
+6.059408 1.658086 0.000000
+6.064112 1.557318 0.000000
+6.072274 1.479171 0.000000
+6.092524 1.462716 0.000000
+6.114938 1.456910 0.000000
+6.138615 1.456832 0.000000
+6.162096 1.455634 0.000000
+6.186050 1.456242 0.000000
+6.210744 1.459618 0.000000
+6.235508 1.462838 0.000000
+6.276058 1.527942 0.000000
+7.634699 2.097073 0.000000
+7.603458 1.974542 0.000000
+7.612486 1.930071 0.000000
+6.197817 -0.753039 0.000000
+6.186553 -0.795971 0.000000
+6.185672 -0.819577 0.000000
+6.187040 -0.838781 0.000000
+6.189221 -0.856218 0.000000
+6.193265 -0.870182 0.000000
+6.195637 -0.886714 0.000000
+6.198366 -0.902365 0.000000
+6.203561 -0.913734 0.000000
+6.206014 -0.929358 0.000000
+6.204051 -0.951727 0.000000
+6.205089 -0.968964 0.000000
+6.205957 -0.986163 0.000000
+6.206109 -1.004158 0.000000
+6.208847 -1.017940 0.000000
+6.209784 -1.034195 0.000000
+6.210564 -1.050413 0.000000
+6.206081 -1.074005 0.000000
+6.201929 -1.096677 0.000000
+6.200428 -1.115170 0.000000
+6.200488 -1.131159 0.000000
+6.199221 -1.148724 0.000000
+6.202509 -1.159777 0.000000
+6.206295 -1.170021 0.000000
+6.208193 -1.182665 0.000000
+6.211791 -1.192900 0.000000
+6.215910 -1.202342 0.000000
+6.222408 -1.208633 0.000000
+6.227627 -1.216529 0.000000
+6.235903 -1.220535 0.000000
+6.242909 -1.226153 0.000000
+6.253044 -1.227938 0.000000
+6.263828 -1.229030 0.000000
+6.277839 -1.226370 0.000000
+6.288685 -1.227651 0.000000
+6.298250 -1.230537 0.000000
+6.314362 -1.225934 0.000000
+6.323971 -1.229000 0.000000
+6.338887 -1.226151 0.000000
+6.353203 -1.224180 0.000000
+6.365563 -1.224556 0.000000
+6.381336 -1.221353 0.000000
+6.394460 -1.221224 0.000000
+6.405569 -1.223392 0.000000
+7.763445 -0.633808 0.000000
+7.761618 -0.657023 0.000000
+7.758788 -0.680731 0.000000
+7.758231 -0.702635 0.000000
+7.762452 -0.721080 0.000000
+7.765714 -0.740075 0.000000
+7.770503 -0.757940 0.000000
+7.774333 -0.776354 0.000000
+7.782223 -0.792025 0.000000
+7.784129 -0.811521 0.000000
+7.787581 -0.829911 0.000000
+7.786670 -0.850943 0.000000
+7.788999 -0.869805 0.000000
+7.792047 -0.888118 0.000000
+7.794111 -0.906931 0.000000
+7.792605 -0.927761 0.000000
+7.790080 -0.949029 0.000000
+7.786528 -0.970718 0.000000
+7.783677 -0.991819 0.000000
+7.782408 -1.011855 0.000000
+7.779243 -1.032799 0.000000
+7.780303 -1.051252 0.000000
+7.784751 -1.067766 0.000000
+7.787327 -1.085227 0.000000
+7.792439 -1.101274 0.000000
+7.800114 -1.115953 0.000000
+7.813933 -1.127488 0.000000
+7.836633 -1.134635 0.000000
+7.868289 -1.137552 0.000000
+7.907182 -1.137275 0.000000
+7.944363 -1.138276 0.000000
+12.084689 -2.455889 0.000000
+7.964346 -0.900746 0.000000
+7.960127 -0.783050 0.000000
+7.957818 -0.662511 0.000000
+7.944999 -0.601922 0.000000
+7.924434 -0.582473 0.000000
+7.900355 -0.580534 0.000000
+7.876906 -0.575520 0.000000
+7.851964 -0.577202 0.000000
+7.827420 -0.576780 0.000000
+7.801934 -0.580102 0.000000
+7.776847 -0.581320 0.000000
+7.751955 -0.581411 0.000000
+7.865370 1.656110 0.000000
+7.860755 1.672916 0.000000
+7.863095 1.703091 0.000000
+7.860720 1.723397 0.000000
+7.857625 1.741899 0.000000
+7.854715 1.760378 0.000000
+7.849150 1.773546 0.000000
+7.843709 1.786722 0.000000
+7.840323 1.803406 0.000000
+7.838567 1.822689 0.000000
+7.839471 1.846286 0.000000
+7.838625 1.866349 0.000000
+7.836974 1.884639 0.000000
+7.837030 1.905477 0.000000
+7.837298 1.926261 0.000000
+7.836221 1.944424 0.000000
+7.840560 1.971067 0.000000
+7.845707 1.998456 0.000000
+7.850074 2.024043 0.000000
+7.848247 2.039418 0.000000
+7.847110 2.055604 0.000000
+7.844487 2.069247 0.000000
+7.839227 2.078707 0.000000
+7.835162 2.089841 0.000000
+7.828945 2.097669 0.000000
+7.822220 2.104700 0.000000
+7.817835 2.115043 0.000000
+7.809499 2.119675 0.000000
+7.799440 2.121919 0.000000
+7.788789 2.123425 0.000000
+7.778715 2.125816 0.000000
+7.765656 2.124265 0.000000
+7.755549 2.126819 0.000000
+7.741808 2.124670 0.000000
+7.728618 2.123428 0.000000
+7.717222 2.124662 0.000000
+7.703950 2.123628 0.000000
+7.691878 2.124267 0.000000
+7.679778 2.125002 0.000000
+7.665753 2.123509 0.000000
+7.652312 2.122906 0.000000
+7.636902 2.120114 0.000000
+6.295084 1.572850 0.000000
+6.292971 1.593803 0.000000
+6.291820 1.615315 0.000000
+6.294859 1.639745 0.000000
+6.293250 1.660543 0.000000
+6.290176 1.680130 0.000000
+6.286432 1.699113 0.000000
+6.283644 1.718654 0.000000
+6.279356 1.737028 0.000000
+6.277673 1.757088 0.000000
+6.273655 1.775429 0.000000
+6.273092 1.795981 0.000000
+6.271850 1.815932 0.000000
+6.271594 1.836388 0.000000
+6.272332 1.857331 0.000000
+6.274075 1.878747 0.000000
+6.276829 1.900620 0.000000
+6.277203 1.920828 0.000000
+6.274314 1.938895 0.000000
+6.274977 1.959008 0.000000
+6.271493 1.976506 0.000000
+6.266404 1.992982 0.000000
+6.264018 2.010970 0.000000
+6.251339 2.022983 0.000000
+6.237844 2.034604 0.000000
+6.214787 2.040987 0.000000
+6.179444 2.040859 0.000000
+6.137858 2.037764 0.000000
+6.099680 2.036989 0.000000
+13.080740 1.565519 0.000000
+13.080897 1.456905 0.000000
+13.089505 1.390324 0.000000
+13.084671 1.270264 0.000000
+13.099047 1.234927 0.000000
+13.118611 1.221865 0.000000
+13.141027 1.220326 0.000000
+13.163457 1.218652 0.000000
+13.185899 1.216841 0.000000
+13.208881 1.216821 0.000000
+13.233249 1.221473 0.000000
+13.068204 -0.851651 0.000000
+13.053082 -0.901477 0.000000
+13.053904 -0.921339 0.000000
+13.055994 -0.938542 0.000000
+13.058904 -0.953980 0.000000
+13.062663 -0.967668 0.000000
+13.063766 -0.985662 0.000000
+13.065710 -1.001899 0.000000
+13.070586 -1.012966 0.000000
+13.073802 -1.026602 0.000000
+13.075314 -1.042779 0.000000
+13.062881 -1.080969 0.000000
+13.052709 -1.114740 0.000000
+13.052435 -1.132356 0.000000
+13.051440 -1.150760 0.000000
+13.054110 -1.163260 0.000000
+13.059991 -1.170754 0.000000
+13.068051 -1.174957 0.000000
+13.070449 -1.187466 0.000000
+13.060780 -1.217226 0.000000
+13.057680 -1.237003 0.000000
+13.057852 -1.251807 0.000000
+13.056130 -1.269008 0.000000
+13.050710 -1.291000 0.000000
+13.050990 -1.304835 0.000000
+13.051139 -1.318633 0.000000
+13.054769 -1.327603 0.000000
+13.058323 -1.336577 0.000000
+13.062414 -1.344761 0.000000
+13.067055 -1.352168 0.000000
+13.071638 -1.359591 0.000000
+13.079290 -1.363126 0.000000
+13.087560 -1.365936 0.000000
+13.094559 -1.370352 0.000000
+13.104092 -1.371734 0.000000
+13.113637 -1.373191 0.000000
+13.124493 -1.373197 0.000000
+13.132770 -1.376327 0.000000
+13.144324 -1.375743 0.000000
+13.153935 -1.377510 0.000000
+13.165552 -1.377111 0.000000
+13.175198 -1.379039 0.000000
+13.186201 -1.379566 0.000000
+13.197909 -1.379449 0.000000
+13.208287 -1.380893 0.000000
+13.216622 -1.384604 0.000000
+14.574886 -0.716693 0.000000
+14.592288 -0.725263 0.000000
+14.619423 -0.726985 0.000000
+14.640906 -0.733009 0.000000
+14.626345 -0.764444 0.000000
+14.535806 -0.847941 0.000000
+14.529466 -0.872275 0.000000
+14.526239 -0.894246 0.000000
+14.522836 -0.916125 0.000000
+14.526779 -0.932969 0.000000
+14.533123 -0.948175 0.000000
+14.540211 -0.962862 0.000000
+14.548051 -0.977047 0.000000
+14.567682 -0.983860 0.000000
+14.587315 -0.990851 0.000000
+14.599255 -1.002697 0.000000
+14.591415 -1.026467 0.000000
+14.550687 -1.069460 0.000000
+14.532851 -1.098307 0.000000
+14.517359 -1.125399 0.000000
+14.518146 -1.142870 0.000000
+14.524040 -1.157367 0.000000
+14.533344 -1.169952 0.000000
+14.559257 -1.173495 0.000000
+14.598413 -1.170185 0.000000
+14.609425 -1.182295 0.000000
+14.618605 -1.195416 0.000000
+14.664146 -1.189797 0.000000
+14.595752 -1.242711 0.000000
+14.540236 -1.288060 0.000000
+14.528203 -1.311009 0.000000
+14.522276 -1.330714 0.000000
+14.518905 -1.349012 0.000000
+14.519918 -1.365097 0.000000
+14.523544 -1.379888 0.000000
+14.530713 -1.393018 0.000000
+14.544188 -1.403314 0.000000
+14.566757 -1.409668 0.000000
+14.599411 -1.411840 0.000000
+14.634873 -1.413171 0.000000
+14.713675 -1.396540 0.000000
+7.793937 1.986071 0.000000
+6.241688 -1.087775 0.000000
+7.818601 -0.841469 0.000000
+6.233358 1.751879 0.000000

+ 398 - 0
src/findwheel/data/2019-12-22_21:02:39.txt

@@ -0,0 +1,398 @@
+2.746491 -1.430591 0.000000
+2.782035 -1.427807 0.000000
+2.816598 -1.425025 0.000000
+2.851109 -1.422611 0.000000
+2.869898 -1.413963 0.000000
+2.885947 -1.404318 0.000000
+2.897441 -1.392830 0.000000
+2.903501 -1.379015 0.000000
+2.906905 -1.364007 0.000000
+2.908583 -1.348172 0.000000
+2.904921 -1.329800 0.000000
+2.899584 -1.310498 0.000000
+2.891683 -1.289804 0.000000
+2.887544 -1.270725 0.000000
+2.914057 -1.266562 0.000000
+3.051490 -1.318034 0.000000
+3.115082 -1.334026 0.000000
+3.124148 -1.322849 0.000000
+3.120857 -1.305273 0.000000
+3.129190 -1.293694 0.000000
+3.146400 -1.286897 0.000000
+3.139014 -1.266894 0.000000
+3.129161 -1.245318 0.000000
+3.140441 -1.235293 0.000000
+3.154375 -1.226837 0.000000
+3.162264 -1.215018 0.000000
+3.146880 -1.189674 0.000000
+3.116215 -1.154969 0.000000
+3.034373 -1.089095 0.000000
+2.905322 -0.993227 0.000000
+2.879610 -0.958553 0.000000
+2.882252 -0.940947 0.000000
+2.889249 -0.925986 0.000000
+2.893810 -0.909444 0.000000
+2.906044 -0.897786 0.000000
+2.945112 -0.903736 0.000000
+3.126588 -1.004523 0.000000
+3.232066 -1.057228 0.000000
+3.272334 -1.067282 0.000000
+3.306648 -1.073789 0.000000
+3.354766 -1.090366 0.000000
+3.409163 -1.112065 0.000000
+3.429056 -1.109949 0.000000
+3.396228 -1.069945 0.000000
+2.972130 -0.701472 0.000000
+2.954330 -0.666948 0.000000
+2.879750 -0.588305 0.000000
+2.839962 -0.535125 0.000000
+2.831365 -0.505533 0.000000
+2.812514 -0.247368 0.000000
+2.811835 -0.221068 0.000000
+2.815084 -0.198043 0.000000
+2.815571 -0.172279 0.000000
+2.808944 -0.139643 0.000000
+2.813549 -0.117121 0.000000
+2.812534 -0.089066 0.000000
+2.818251 -0.067158 0.000000
+2.819122 -0.040358 0.000000
+4.273007 -1.407431 0.000000
+4.282441 -1.405210 0.000000
+4.291174 -1.402343 0.000000
+4.303347 -1.403171 0.000000
+4.318213 -1.407024 0.000000
+4.328922 -1.406613 0.000000
+4.343656 -1.410718 0.000000
+4.352271 -1.408286 0.000000
+4.364882 -1.410392 0.000000
+4.373464 -1.408115 0.000000
+4.382699 -1.406656 0.000000
+4.391921 -1.405269 0.000000
+4.402426 -1.405477 0.000000
+4.409031 -1.401186 0.000000
+4.419498 -1.401546 0.000000
+4.429296 -1.401221 0.000000
+4.435912 -1.397097 0.000000
+4.444427 -1.395353 0.000000
+4.453557 -1.394456 0.000000
+4.460199 -1.390485 0.000000
+4.466246 -1.385765 0.000000
+4.469278 -1.377113 0.000000
+4.472384 -1.368460 0.000000
+4.476163 -1.360609 0.000000
+4.479411 -1.351962 0.000000
+4.481554 -1.341702 0.000000
+4.483789 -1.331430 0.000000
+4.480895 -1.313818 0.000000
+4.481633 -1.301043 0.000000
+4.477926 -1.281669 0.000000
+4.473853 -1.261391 0.000000
+4.468305 -1.238544 0.000000
+4.466891 -1.221409 0.000000
+4.468407 -1.208390 0.000000
+4.471141 -1.197022 0.000000
+4.466937 -1.174718 0.000000
+4.455450 -1.140513 0.000000
+4.451781 -1.117987 0.000000
+4.451509 -1.100475 0.000000
+4.452980 -1.085475 0.000000
+4.457700 -1.075583 0.000000
+4.464555 -1.069136 0.000000
+4.466388 -1.054105 0.000000
+4.462343 -1.028671 0.000000
+4.464532 -1.013557 0.000000
+4.466869 -0.998421 0.000000
+4.470329 -0.985012 0.000000
+4.471991 -0.968090 0.000000
+4.472393 -0.948502 0.000000
+4.476768 -0.935924 0.000000
+4.312375 1.393687 0.000000
+4.336536 1.391450 0.000000
+4.360405 1.390035 0.000000
+4.383318 1.392367 0.000000
+4.406227 1.394561 0.000000
+4.428699 1.398571 0.000000
+4.451820 1.399516 0.000000
+4.471652 1.415984 0.000000
+4.482706 1.476453 0.000000
+4.481700 1.601680 0.000000
+4.482500 1.725083 0.000000
+6.042126 1.835240 0.000000
+6.055205 1.767780 0.000000
+6.059031 1.656122 0.000000
+6.064695 1.560261 0.000000
+6.071873 1.477211 0.000000
+6.092319 1.461738 0.000000
+6.114938 1.456910 0.000000
+6.138397 1.455856 0.000000
+6.161650 1.453684 0.000000
+6.186508 1.458189 0.000000
+6.210510 1.458646 0.000000
+6.235029 1.460897 0.000000
+6.277040 1.531820 0.000000
+7.632386 2.092640 0.000000
+7.602056 1.971890 0.000000
+7.612013 1.929190 0.000000
+6.191537 -0.764421 0.000000
+6.186553 -0.795971 0.000000
+6.185672 -0.819577 0.000000
+6.186542 -0.839648 0.000000
+6.190228 -0.854490 0.000000
+6.191740 -0.872765 0.000000
+6.195124 -0.887572 0.000000
+6.198366 -0.902365 0.000000
+6.204608 -0.912030 0.000000
+6.203901 -0.932754 0.000000
+6.204051 -0.951727 0.000000
+6.205626 -0.968121 0.000000
+6.204328 -0.988682 0.000000
+6.206657 -1.003322 0.000000
+6.209400 -1.017107 0.000000
+6.210341 -1.033365 0.000000
+6.208876 -1.052894 0.000000
+6.207216 -1.072358 0.000000
+6.203073 -1.095037 0.000000
+6.201005 -1.114353 0.000000
+6.200488 -1.131159 0.000000
+6.200980 -1.146294 0.000000
+6.202509 -1.159777 0.000000
+6.205700 -1.170824 0.000000
+6.208193 -1.182665 0.000000
+6.210581 -1.194493 0.000000
+6.216519 -1.201549 0.000000
+6.221180 -1.210211 0.000000
+6.228246 -1.215744 0.000000
+6.235903 -1.220535 0.000000
+6.242909 -1.226153 0.000000
+6.252412 -1.228713 0.000000
+6.263191 -1.229801 0.000000
+6.277839 -1.226370 0.000000
+6.288039 -1.228414 0.000000
+6.298250 -1.230537 0.000000
+6.312397 -1.228202 0.000000
+6.324630 -1.228248 0.000000
+6.337560 -1.227647 0.000000
+6.353871 -1.223436 0.000000
+6.362875 -1.227518 0.000000
+6.381336 -1.221353 0.000000
+6.393780 -1.221956 0.000000
+6.404884 -1.224121 0.000000
+7.761822 -0.634978 0.000000
+7.760803 -0.657603 0.000000
+7.760425 -0.679581 0.000000
+7.758231 -0.702635 0.000000
+7.759152 -0.723341 0.000000
+7.765714 -0.740075 0.000000
+7.770503 -0.757940 0.000000
+7.775168 -0.775803 0.000000
+7.782223 -0.792025 0.000000
+7.784970 -0.810980 0.000000
+7.787581 -0.829911 0.000000
+7.787517 -0.850412 0.000000
+7.788149 -0.870331 0.000000
+7.792047 -0.888118 0.000000
+7.792398 -0.907964 0.000000
+7.791746 -0.928273 0.000000
+7.790080 -0.949029 0.000000
+7.783933 -0.972223 0.000000
+7.783677 -0.991819 0.000000
+7.783279 -1.011363 0.000000
+7.780117 -1.032313 0.000000
+7.782933 -1.049809 0.000000
+7.785630 -1.067290 0.000000
+7.788209 -1.084756 0.000000
+7.791554 -1.101740 0.000000
+7.801001 -1.115492 0.000000
+7.813933 -1.127488 0.000000
+7.836633 -1.134635 0.000000
+7.866498 -1.138443 0.000000
+7.907182 -1.137275 0.000000
+7.941661 -1.139580 0.000000
+12.086164 -2.458502 0.000000
+7.964524 -0.899762 0.000000
+7.960310 -0.782068 0.000000
+7.958197 -0.660547 0.000000
+7.944999 -0.601922 0.000000
+7.923832 -0.585411 0.000000
+7.900355 -0.580534 0.000000
+7.876059 -0.579429 0.000000
+7.851529 -0.579155 0.000000
+7.827420 -0.576780 0.000000
+7.802620 -0.577183 0.000000
+7.776378 -0.583265 0.000000
+7.752195 -0.580441 0.000000
+7.863601 1.652522 0.000000
+7.860755 1.672916 0.000000
+7.862189 1.701307 0.000000
+7.860262 1.722508 0.000000
+7.857162 1.741013 0.000000
+7.853311 1.757727 0.000000
+7.848677 1.772665 0.000000
+7.844665 1.788478 0.000000
+7.840323 1.803406 0.000000
+7.838078 1.821817 0.000000
+7.838484 1.844546 0.000000
+7.837628 1.864615 0.000000
+7.837981 1.886367 0.000000
+7.837539 1.906338 0.000000
+7.837298 1.926261 0.000000
+7.835702 1.943569 0.000000
+7.841084 1.971919 0.000000
+7.847292 2.001003 0.000000
+7.849007 2.022352 0.000000
+7.848784 2.040260 0.000000
+7.847653 2.056444 0.000000
+7.842843 2.066738 0.000000
+7.838121 2.077041 0.000000
+7.834604 2.089011 0.000000
+7.828945 2.097669 0.000000
+7.822220 2.104700 0.000000
+7.817262 2.114223 0.000000
+7.808922 2.118858 0.000000
+7.800604 2.123546 0.000000
+7.788202 2.122615 0.000000
+7.778123 2.125010 0.000000
+7.766252 2.125068 0.000000
+7.755549 2.126819 0.000000
+7.740597 2.123077 0.000000
+7.728618 2.123428 0.000000
+7.716608 2.123873 0.000000
+7.702712 2.122057 0.000000
+7.692502 2.125049 0.000000
+7.679150 2.124223 0.000000
+7.665120 2.122735 0.000000
+7.651037 2.121365 0.000000
+7.637544 2.120881 0.000000
+7.624007 2.120509 0.000000
+6.293495 1.571635 0.000000
+6.291375 1.592597 0.000000
+6.292621 1.615913 0.000000
+6.294054 1.639151 0.000000
+6.293250 1.660543 0.000000
+6.290176 1.680130 0.000000
+6.287248 1.699692 0.000000
+6.282007 1.717504 0.000000
+6.280178 1.737598 0.000000
+6.276848 1.756523 0.000000
+6.275311 1.776550 0.000000
+6.272261 1.795426 0.000000
+6.271850 1.815932 0.000000
+6.271594 1.836388 0.000000
+6.272332 1.857331 0.000000
+6.274919 1.879283 0.000000
+6.275982 1.900089 0.000000
+6.274652 1.919250 0.000000
+6.275167 1.939416 0.000000
+6.274121 1.958492 0.000000
+6.270634 1.975995 0.000000
+6.267266 1.993488 0.000000
+6.260557 2.008965 0.000000
+6.253943 2.024472 0.000000
+6.237844 2.034604 0.000000
+6.213913 2.040502 0.000000
+6.179444 2.040859 0.000000
+6.137858 2.037764 0.000000
+6.101444 2.037930 0.000000
+13.080740 1.565519 0.000000
+13.080678 1.455928 0.000000
+13.089505 1.390324 0.000000
+13.084671 1.270264 0.000000
+13.099283 1.235898 0.000000
+13.118611 1.221865 0.000000
+13.140284 1.217420 0.000000
+13.163457 1.218652 0.000000
+13.186158 1.217806 0.000000
+13.209146 1.217786 0.000000
+13.232438 1.218585 0.000000
+13.380936 1.481610 0.000000
+13.072953 -0.842851 0.000000
+13.052602 -0.902354 0.000000
+13.053904 -0.921339 0.000000
+13.055014 -0.940285 0.000000
+13.059399 -0.953111 0.000000
+13.062663 -0.967668 0.000000
+13.063766 -0.985662 0.000000
+13.065710 -1.001899 0.000000
+13.070071 -1.013823 0.000000
+13.073802 -1.026602 0.000000
+13.075839 -1.041928 0.000000
+13.062350 -1.081816 0.000000
+13.054314 -1.112206 0.000000
+13.051895 -1.133197 0.000000
+13.051986 -1.149921 0.000000
+13.053010 -1.164930 0.000000
+13.058881 -1.172418 0.000000
+13.069170 -1.173300 0.000000
+13.068756 -1.189942 0.000000
+13.061348 -1.216404 0.000000
+13.058253 -1.236184 0.000000
+13.059009 -1.250176 0.000000
+13.055547 -1.269820 0.000000
+13.051297 -1.290192 0.000000
+13.050990 -1.304835 0.000000
+13.051139 -1.318633 0.000000
+13.054769 -1.327603 0.000000
+13.057110 -1.338166 0.000000
+13.062414 -1.344761 0.000000
+13.067055 -1.352168 0.000000
+13.071017 -1.360375 0.000000
+13.078665 -1.363907 0.000000
+13.086930 -1.366713 0.000000
+13.095827 -1.368806 0.000000
+13.104092 -1.371734 0.000000
+13.113637 -1.373191 0.000000
+13.122550 -1.375483 0.000000
+13.134074 -1.374810 0.000000
+13.143668 -1.376498 0.000000
+13.154595 -1.376759 0.000000
+13.164222 -1.378604 0.000000
+13.175867 -1.378297 0.000000
+13.185527 -1.380305 0.000000
+13.197909 -1.379449 0.000000
+13.209652 -1.379431 0.000000
+13.217996 -1.383150 0.000000
+14.574080 -0.717285 0.000000
+14.592288 -0.725263 0.000000
+14.619423 -0.726985 0.000000
+14.644171 -0.730698 0.000000
+14.625525 -0.765017 0.000000
+14.537451 -0.846804 0.000000
+14.531117 -0.871148 0.000000
+14.525410 -0.894805 0.000000
+14.522836 -0.916125 0.000000
+14.526779 -0.932969 0.000000
+14.533123 -0.948175 0.000000
+14.541052 -0.962323 0.000000
+14.548897 -0.976513 0.000000
+14.567682 -0.983860 0.000000
+14.585611 -0.991900 0.000000
+14.599255 -1.002697 0.000000
+14.591415 -1.026467 0.000000
+14.548105 -1.070989 0.000000
+14.531124 -1.099316 0.000000
+14.517359 -1.125399 0.000000
+14.517277 -1.143364 0.000000
+14.525784 -1.156388 0.000000
+14.534220 -1.169467 0.000000
+14.559257 -1.173495 0.000000
+14.598413 -1.170185 0.000000
+14.609425 -1.182295 0.000000
+14.618605 -1.195416 0.000000
+14.664146 -1.189797 0.000000
+14.593969 -1.243618 0.000000
+14.538448 -1.288956 0.000000
+14.527307 -1.311453 0.000000
+14.522276 -1.330714 0.000000
+14.519806 -1.348580 0.000000
+14.519015 -1.365524 0.000000
+14.524451 -1.379466 0.000000
+14.531622 -1.392601 0.000000
+14.544188 -1.403314 0.000000
+14.568585 -1.408856 0.000000
+14.598495 -1.412241 0.000000
+14.635792 -1.412775 0.000000
+14.709072 -1.398491 0.000000
+7.785946 1.987179 0.000000
+6.241342 -1.088279 0.000000
+7.818446 -0.841621 0.000000
+6.233212 1.751775 0.000000

+ 393 - 0
src/findwheel/data/2019-12-22_21:02:42.txt

@@ -0,0 +1,393 @@
+2.744631 -1.429858 0.000000
+2.779250 -1.426691 0.000000
+2.814747 -1.424270 0.000000
+2.846490 -1.420696 0.000000
+2.869898 -1.413963 0.000000
+2.886866 -1.404711 0.000000
+2.897441 -1.392830 0.000000
+2.905330 -1.379824 0.000000
+2.906905 -1.364007 0.000000
+2.908583 -1.348172 0.000000
+2.904921 -1.329800 0.000000
+2.900488 -1.310923 0.000000
+2.891683 -1.289804 0.000000
+2.889344 -1.271597 0.000000
+2.908673 -1.263915 0.000000
+3.039858 -1.312230 0.000000
+3.115974 -1.334478 0.000000
+3.124148 -1.322849 0.000000
+3.118196 -1.303886 0.000000
+3.127422 -1.292759 0.000000
+3.141993 -1.284536 0.000000
+3.135499 -1.264984 0.000000
+3.125658 -1.243388 0.000000
+3.132584 -1.230904 0.000000
+3.143933 -1.220924 0.000000
+3.154458 -1.210538 0.000000
+3.140830 -1.186154 0.000000
+3.107600 -1.149890 0.000000
+3.036090 -1.090120 0.000000
+2.904467 -0.992710 0.000000
+2.878757 -0.958030 0.000000
+2.883101 -0.941475 0.000000
+2.889249 -0.925986 0.000000
+2.893810 -0.909444 0.000000
+2.902683 -0.895616 0.000000
+2.935906 -0.897714 0.000000
+3.099077 -0.986299 0.000000
+3.222932 -1.051100 0.000000
+3.264890 -1.062225 0.000000
+3.299232 -1.068689 0.000000
+3.344919 -1.083508 0.000000
+3.405076 -1.109184 0.000000
+3.429870 -1.110530 0.000000
+3.403523 -1.075217 0.000000
+2.969729 -0.699673 0.000000
+2.953533 -0.666344 0.000000
+2.881337 -0.589523 0.000000
+2.841541 -0.536352 0.000000
+2.832937 -0.506770 0.000000
+2.811017 -0.246042 0.000000
+2.809601 -0.219066 0.000000
+2.812862 -0.196028 0.000000
+2.813360 -0.170251 0.000000
+2.811876 -0.142364 0.000000
+2.809904 -0.113699 0.000000
+2.813259 -0.089755 0.000000
+2.816088 -0.065079 0.000000
+2.816971 -0.038266 0.000000
+4.273708 -1.408145 0.000000
+4.281745 -1.404493 0.000000
+4.291174 -1.402343 0.000000
+4.304723 -1.404622 0.000000
+4.318213 -1.407024 0.000000
+4.328922 -1.406613 0.000000
+4.342305 -1.409243 0.000000
+4.353612 -1.409769 0.000000
+4.362882 -1.408156 0.000000
+4.374126 -1.408864 0.000000
+4.382699 -1.406656 0.000000
+4.392574 -1.406026 0.000000
+4.403075 -1.406238 0.000000
+4.408387 -1.400421 0.000000
+4.420138 -1.402314 0.000000
+4.429296 -1.401221 0.000000
+4.434649 -1.395546 0.000000
+4.445681 -1.396912 0.000000
+4.454802 -1.396022 0.000000
+4.460199 -1.390485 0.000000
+4.465020 -1.384185 0.000000
+4.469278 -1.377113 0.000000
+4.472384 -1.368460 0.000000
+4.477960 -1.363011 0.000000
+4.480600 -1.353571 0.000000
+4.480964 -1.340894 0.000000
+4.483204 -1.330619 0.000000
+4.483797 -1.317891 0.000000
+4.481633 -1.301043 0.000000
+4.479068 -1.283312 0.000000
+4.474419 -1.262215 0.000000
+4.469428 -1.240199 0.000000
+4.467447 -1.222240 0.000000
+4.467855 -1.207556 0.000000
+4.470594 -1.196185 0.000000
+4.466395 -1.173878 0.000000
+4.457060 -1.143044 0.000000
+4.452313 -1.118834 0.000000
+4.452036 -1.101325 0.000000
+4.451936 -1.083769 0.000000
+4.457700 -1.075583 0.000000
+4.465067 -1.069995 0.000000
+4.466388 -1.054105 0.000000
+4.462343 -1.028671 0.000000
+4.464532 -1.013557 0.000000
+4.466869 -0.998421 0.000000
+4.469842 -0.984139 0.000000
+4.472473 -0.968967 0.000000
+4.473346 -0.950260 0.000000
+4.476768 -0.935924 0.000000
+4.312619 1.392717 0.000000
+4.335821 1.394364 0.000000
+4.360638 1.389063 0.000000
+4.383772 1.390419 0.000000
+4.406448 1.393586 0.000000
+4.429779 1.393689 0.000000
+4.451400 1.401471 0.000000
+4.471856 1.415005 0.000000
+4.481911 1.480373 0.000000
+4.482858 1.595793 0.000000
+4.483436 1.720171 0.000000
+4.471819 1.918429 0.000000
+6.041240 1.830319 0.000000
+6.061673 1.669870 0.000000
+6.064501 1.559280 0.000000
+6.072874 1.482110 0.000000
+6.092319 1.461738 0.000000
+6.114938 1.456910 0.000000
+6.138615 1.456832 0.000000
+6.162096 1.455634 0.000000
+6.186050 1.456242 0.000000
+6.210510 1.458646 0.000000
+6.235269 1.461868 0.000000
+6.276058 1.527942 0.000000
+7.628223 2.084661 0.000000
+7.602991 1.973658 0.000000
+7.606339 1.918616 0.000000
+6.192503 -0.762670 0.000000
+6.187041 -0.795098 0.000000
+6.184686 -0.821316 0.000000
+6.187538 -0.837914 0.000000
+6.189221 -0.856218 0.000000
+6.193265 -0.870182 0.000000
+6.195124 -0.887572 0.000000
+6.199403 -0.900655 0.000000
+6.203038 -0.914587 0.000000
+6.207071 -0.927660 0.000000
+6.204051 -0.951727 0.000000
+6.204550 -0.969807 0.000000
+6.205414 -0.987002 0.000000
+6.206109 -1.004158 0.000000
+6.209400 -1.017107 0.000000
+6.209784 -1.034195 0.000000
+6.208876 -1.052894 0.000000
+6.206081 -1.074005 0.000000
+6.202500 -1.095857 0.000000
+6.201005 -1.114353 0.000000
+6.199906 -1.131973 0.000000
+6.200394 -1.147104 0.000000
+6.201918 -1.160583 0.000000
+6.205104 -1.171628 0.000000
+6.207593 -1.183465 0.000000
+6.211791 -1.192900 0.000000
+6.216519 -1.201549 0.000000
+6.221180 -1.210211 0.000000
+6.227627 -1.216529 0.000000
+6.235280 -1.221317 0.000000
+6.244165 -1.224596 0.000000
+6.251780 -1.229487 0.000000
+6.264465 -1.228259 0.000000
+6.278481 -1.225603 0.000000
+6.287394 -1.229178 0.000000
+6.299550 -1.229017 0.000000
+6.313052 -1.227446 0.000000
+6.324630 -1.228248 0.000000
+6.338887 -1.226151 0.000000
+6.352536 -1.224924 0.000000
+6.362875 -1.227518 0.000000
+6.381336 -1.221353 0.000000
+6.393099 -1.222689 0.000000
+6.405569 -1.223392 0.000000
+7.762633 -0.634393 0.000000
+7.763247 -0.655864 0.000000
+7.759606 -0.680156 0.000000
+7.759052 -0.702064 0.000000
+7.760802 -0.722211 0.000000
+7.764886 -0.740636 0.000000
+7.770503 -0.757940 0.000000
+7.776002 -0.775252 0.000000
+7.780548 -0.793117 0.000000
+7.784970 -0.810980 0.000000
+7.786737 -0.830447 0.000000
+7.788363 -0.849880 0.000000
+7.788999 -0.869805 0.000000
+7.792047 -0.888118 0.000000
+7.792398 -0.907964 0.000000
+7.793464 -0.927250 0.000000
+7.790080 -0.949029 0.000000
+7.787393 -0.970217 0.000000
+7.785413 -0.990826 0.000000
+7.780666 -1.012838 0.000000
+7.782738 -1.030854 0.000000
+7.782056 -1.050290 0.000000
+7.784751 -1.067766 0.000000
+7.787327 -1.085227 0.000000
+7.794209 -1.100342 0.000000
+7.800114 -1.115953 0.000000
+7.815713 -1.126576 0.000000
+7.834847 -1.135536 0.000000
+7.869184 -1.137107 0.000000
+7.908080 -1.136835 0.000000
+7.943462 -1.138711 0.000000
+12.087147 -2.460243 0.000000
+7.964702 -0.898778 0.000000
+7.959394 -0.786982 0.000000
+7.957629 -0.663493 0.000000
+7.944219 -0.605846 0.000000
+7.923832 -0.585411 0.000000
+7.900561 -0.579556 0.000000
+7.876482 -0.577475 0.000000
+7.852182 -0.576226 0.000000
+7.827420 -0.576780 0.000000
+7.801704 -0.581076 0.000000
+7.776612 -0.582292 0.000000
+7.752435 -0.579470 0.000000
+7.864927 1.655213 0.000000
+7.861203 1.673811 0.000000
+7.863095 1.703091 0.000000
+7.861177 1.724287 0.000000
+7.857625 1.741899 0.000000
+7.854715 1.760378 0.000000
+7.848677 1.772665 0.000000
+7.844665 1.788478 0.000000
+7.840323 1.803406 0.000000
+7.839055 1.823562 0.000000
+7.838978 1.845416 0.000000
+7.838127 1.865482 0.000000
+7.837478 1.885503 0.000000
+7.837539 1.906338 0.000000
+7.836271 1.924545 0.000000
+7.837777 1.946989 0.000000
+7.840036 1.970215 0.000000
+7.846764 2.000154 0.000000
+7.849007 2.022352 0.000000
+7.848247 2.039418 0.000000
+7.846024 2.053925 0.000000
+7.844487 2.069247 0.000000
+7.838674 2.077874 0.000000
+7.834604 2.089011 0.000000
+7.828945 2.097669 0.000000
+7.822787 2.105523 0.000000
+7.816690 2.113403 0.000000
+7.810653 2.121308 0.000000
+7.800022 2.122732 0.000000
+7.788789 2.123425 0.000000
+7.778715 2.125816 0.000000
+7.765060 2.123462 0.000000
+7.754348 2.125220 0.000000
+7.740597 2.123077 0.000000
+7.728618 2.123428 0.000000
+7.715993 2.123084 0.000000
+7.703331 2.122842 0.000000
+7.691878 2.124267 0.000000
+7.679150 2.124223 0.000000
+7.665120 2.122735 0.000000
+7.651675 2.122136 0.000000
+7.637544 2.120881 0.000000
+7.625299 2.122036 0.000000
+6.295084 1.572850 0.000000
+6.292971 1.593803 0.000000
+6.294223 1.617109 0.000000
+6.294859 1.639745 0.000000
+6.294867 1.661721 0.000000
+6.290176 1.680130 0.000000
+6.285618 1.698533 0.000000
+6.283644 1.718654 0.000000
+6.278535 1.736458 0.000000
+6.276023 1.755958 0.000000
+6.274483 1.775989 0.000000
+6.271430 1.794870 0.000000
+6.272685 1.816483 0.000000
+6.272431 1.836933 0.000000
+6.274014 1.858413 0.000000
+6.274075 1.878747 0.000000
+6.275982 1.900089 0.000000
+6.276353 1.920302 0.000000
+6.275167 1.939416 0.000000
+6.272408 1.957460 0.000000
+6.271493 1.976506 0.000000
+6.267266 1.993488 0.000000
+6.260557 2.008965 0.000000
+6.252207 2.023479 0.000000
+6.236102 2.033622 0.000000
+6.213913 2.040502 0.000000
+6.178568 2.040378 0.000000
+6.136979 2.037288 0.000000
+6.097915 2.036047 0.000000
+13.082450 1.573334 0.000000
+13.080459 1.454953 0.000000
+13.089505 1.390324 0.000000
+13.084671 1.270264 0.000000
+13.099283 1.235898 0.000000
+13.119095 1.223805 0.000000
+13.140532 1.218389 0.000000
+13.162950 1.216717 0.000000
+13.186417 1.218772 0.000000
+13.209146 1.217786 0.000000
+13.233789 1.223399 0.000000
+13.068204 -0.851651 0.000000
+13.053082 -0.901477 0.000000
+13.054389 -0.920464 0.000000
+13.055994 -0.938542 0.000000
+13.059399 -0.953111 0.000000
+13.063164 -0.966802 0.000000
+13.064776 -0.983937 0.000000
+13.066730 -1.000179 0.000000
+13.070586 -1.012966 0.000000
+13.074323 -1.025748 0.000000
+13.075839 -1.041928 0.000000
+13.062881 -1.080969 0.000000
+13.053244 -1.113896 0.000000
+13.051895 -1.133197 0.000000
+13.052530 -1.149083 0.000000
+13.053560 -1.164095 0.000000
+13.059991 -1.170754 0.000000
+13.069170 -1.173300 0.000000
+13.069321 -1.189117 0.000000
+13.060780 -1.217226 0.000000
+13.058253 -1.236184 0.000000
+13.057852 -1.251807 0.000000
+13.055547 -1.269820 0.000000
+13.051886 -1.289383 0.000000
+13.050397 -1.305641 0.000000
+13.051139 -1.318633 0.000000
+13.053564 -1.329200 0.000000
+13.059537 -1.334987 0.000000
+13.062414 -1.344761 0.000000
+13.067055 -1.352168 0.000000
+13.073500 -1.357238 0.000000
+13.079290 -1.363126 0.000000
+13.086930 -1.366713 0.000000
+13.096461 -1.368033 0.000000
+13.105369 -1.370196 0.000000
+13.115566 -1.370893 0.000000
+13.123198 -1.374721 0.000000
+13.134726 -1.374052 0.000000
+13.143668 -1.376498 0.000000
+13.155917 -1.375258 0.000000
+13.164886 -1.377857 0.000000
+13.177206 -1.376811 0.000000
+13.185527 -1.380305 0.000000
+13.197909 -1.379449 0.000000
+13.209652 -1.379431 0.000000
+13.220056 -1.380968 0.000000
+14.574080 -0.717285 0.000000
+14.593906 -0.724088 0.000000
+14.618610 -0.727567 0.000000
+14.641722 -0.732431 0.000000
+14.632900 -0.759859 0.000000
+14.534161 -0.849078 0.000000
+14.529466 -0.872275 0.000000
+14.525410 -0.894805 0.000000
+14.525333 -0.914463 0.000000
+14.526779 -0.932969 0.000000
+14.534801 -0.947086 0.000000
+14.540211 -0.962862 0.000000
+14.548051 -0.977047 0.000000
+14.568531 -0.983330 0.000000
+14.587315 -0.990851 0.000000
+14.597546 -1.003736 0.000000
+14.593131 -1.025438 0.000000
+14.549826 -1.069970 0.000000
+14.531124 -1.099316 0.000000
+14.517359 -1.125399 0.000000
+14.519014 -1.142375 0.000000
+14.525784 -1.156388 0.000000
+14.534220 -1.169467 0.000000
+14.558379 -1.173974 0.000000
+14.599294 -1.169711 0.000000
+14.610308 -1.181826 0.000000
+14.619491 -1.194953 0.000000
+14.663258 -1.190255 0.000000
+14.588621 -1.246338 0.000000
+14.519918 -1.365097 0.000000
+14.524451 -1.379466 0.000000
+14.530713 -1.393018 0.000000
+14.544188 -1.403314 0.000000
+14.567672 -1.409262 0.000000
+14.599411 -1.411840 0.000000
+14.634873 -1.413171 0.000000
+14.704468 -1.400442 0.000000
+7.789909 1.988641 0.000000
+6.241405 -1.088184 0.000000
+7.818779 -0.841571 0.000000
+6.233161 1.751824 0.000000

+ 1 - 0
src/findwheel/scripts/EleFence.proto

@@ -34,4 +34,5 @@ message globalParam
 {
     repeated lidarParam lidar_params=1;
     repeated Region regions=2;
+    optional string data_path=3 [default=""];
 }

+ 1 - 0
src/findwheel/scripts/setting.prototxt

@@ -1,3 +1,4 @@
+data_path:"/home/youchen/Documents/measure/MainStructure/elecfence_ws/src/findwheel/data"
 
 lidar_params
 {

+ 32 - 1
src/findwheel/src/FenceController.cpp

@@ -9,14 +9,35 @@ bool FenceController::ReadProtoParam(std::string path)
     if (fd == -1) return false;
     FileInputStream* input = new FileInputStream(fd);
     bool success = google::protobuf::TextFormat::Parse(input, &m_global_param);
+    // std::cout<<m_global_param.data_path()<<std::endl;
     delete input;
     close(fd);
     return success;
 }
 
+void FenceController::save_cloud_txt(std::string txt, pcl::PointCloud<pcl::PointXYZ>::Ptr pCloud)
+{
+    std::ofstream os;
+    os.open(txt, std::ios::out);
+    for (int i = 0; i < pCloud->points.size(); i++)
+    {
+        pcl::PointXYZ point = pCloud->points[i];
+        char buf[255];
+        memset(buf, 0, 255);
+        sprintf(buf, "%f %f %f\n", point.x, point.y, point.z);
+        os.write(buf, strlen(buf));
+    }
+    os.close();
+}
+
 FenceController::FenceController(std::string path):
 m_initialized(0)
 {
+    // char buf[100];
+    // getcwd(buf, sizeof(buf));
+    //printf("%s\n",buf);
+    //FLAGS_log_dir = buf;
+    // google::InitGoogleLogging("path");
     p_merged_cloud = pcl::PointCloud<pcl::PointXYZ>::Ptr(new pcl::PointCloud<pcl::PointXYZ>);
     m_initialized = ReadProtoParam(path);
     const int lidar_size = m_global_param.lidar_params_size();
@@ -88,6 +109,7 @@ FenceController::~FenceController()
     }
     std::cout<<"exit 03"<<std::endl;
     PlcData::Release();
+    // google::ShutdownGoogleLogging();
 }
 void FenceController::GetCloud(pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_out){
     m_cloud_mutex.lock();
@@ -154,7 +176,7 @@ void FenceController::wheelMsgHandlingThread(FenceController* fc){
             struct tm *tc = localtime(&tt);
             char buf[255] = {0};
             memset(buf, 0, 255);
-            sprintf(buf, "%d-%02d-%02d %02d:%02d:%02d ", tc->tm_year + 1900,
+            sprintf(buf, "%d-%02d-%02d_%02d:%02d:%02d", tc->tm_year + 1900,
                     tc->tm_mon + 1, tc->tm_mday, tc->tm_hour, tc->tm_min, tc->tm_sec);
             result.set_time(buf);
             result.set_correctness(false);
@@ -189,6 +211,15 @@ void FenceController::wheelMsgHandlingThread(FenceController* fc){
                                 fc->p_region_workers[i]->get_wheel_result(total_cloud, x, y, c, wheelbase, width))
                             {
                                 result.set_correctness(true);
+                                // save cloud txt
+                                if (fc->m_global_param.data_path() != "")
+                                {
+                                    char cloud_txt_filename[255];
+                                    memset(cloud_txt_filename, 0, 255);
+                                    sprintf(cloud_txt_filename, "%s//%s.txt", fc->m_global_param.data_path().c_str(), result.time().c_str());
+                                    fc->save_cloud_txt(cloud_txt_filename, total_cloud);
+                                    std::cout << " save cloud   " << cloud_txt_filename << std::endl;
+                                }
                             }
                             else
                             {

+ 7 - 4
src/findwheel/src/FenceController.h

@@ -1,6 +1,9 @@
 //
 // Created by zx on 2019/12/6.
 //
+#ifndef FENCECONTROLLER_H
+#define FENCECONTROLLER_H
+
 #include <iostream>
 #include <string>
 #include <fstream>
@@ -19,6 +22,8 @@ using google::protobuf::io::ZeroCopyOutputStream;
 using google::protobuf::io::CodedOutputStream;
 using google::protobuf::Message;
 
+#include "glog/logging.h"
+
 #include <ros/ros.h>
 #include "tools/EleFence.pb.h"
 #include "tools/globalmsg.pb.h"
@@ -43,9 +48,6 @@ using google::protobuf::Message;
 
 #include "tools/threadSafeQueue.h"
 
-#ifndef FENCECONTROLLER_H
-#define FENCECONTROLLER_H
-
 #define CONNECTSTRING "tcp://127.0.0.1:9000"
 
 typedef struct MSGTASK
@@ -68,6 +70,7 @@ public:
 
 private:
     bool ReadProtoParam(std::string path);
+    void save_cloud_txt(std::string txt, pcl::PointCloud<pcl::PointXYZ>::Ptr pCloud);
 
 public:
     bool                                    m_initialized;
@@ -79,9 +82,9 @@ public:
     std::mutex                              m_mutex_wheel_handling;
     // retry count
     const int                               m_retry_count = 3;
-private:
     // 全局系统配置
     EleFence::globalParam                   m_global_param;
+private:
 
     // 雷达与区域句柄
     std::vector<Lidar*>                     p_lidars;

+ 11 - 3
src/findwheel/src/PlcData.cpp

@@ -46,14 +46,22 @@ void PlcData::plcThread(PlcData* p){
     if(p->p_plc == 0) return;
     while(!p->m_cond_exit.WaitFor(1)){
         // 显示雷达结果
-        /*std::cout<<"result: [";
+        std::cout<<"result: [";
         for (int i = 0; i < MAX_REGIONS; ++i) {
             std::cout<<p->m_data[i]<<" ";
         }
-        std::cout<<"]"<<std::endl;*/
+        std::cout<<"]"<<std::endl;
         // 写plc
         if(p->p_plc->getConnection()){
-            p->p_plc->WriteShorts(ELE_FENCE_DB_NUM, ELE_FENCE_START_ADDR, MAX_REGIONS, p->m_data);
+
+            short temp = 0;
+            for (int i = 0; i < ELE_FENCE_COUNT; ++i) {
+                temp= *(p->m_data+i);
+//                temp =HTON(temp);
+                //printf("%d ---->%d\n",*(p->m_data+i), temp);
+                p->p_plc->WriteShorts(ELE_FENCE_DB_NUM, ELE_FENCE_START_ADDR+i*ELE_FENCE_OFFSET, 1, &temp);
+                usleep(50*1000);
+            }
         }else{
             p->p_plc->disconnect();
             if(p->m_ip_str != ""){

+ 6 - 3
src/findwheel/src/PlcData.h

@@ -14,8 +14,12 @@
 #include "tools/define.h"
 
 #define MAX_REGIONS 15
-#define ELE_FENCE_START_ADDR 0
-#define ELE_FENCE_DB_NUM 48
+#define ELE_FENCE_START_ADDR 4
+#define ELE_FENCE_DB_NUM  95
+#define ELE_FENCE_OFFSET 7
+#define ELE_FENCE_COUNT 6
+
+#define HTON(T) ((T)<<8)|((T)>>8)
 
 class PlcData
 {
@@ -30,7 +34,6 @@ private:
     std::thread*                                    p_send_thread;
     S7PLC*                                          p_plc;
     const int                                       m_send_interval_milli = 200;
-    
 
     PlcData(std::string ip);
 

+ 63 - 26
src/findwheel/src/region_detect.cpp

@@ -60,7 +60,7 @@ double distance(cv::Point2f p1, cv::Point2f p2)
 {
     return sqrt(pow(p1.x - p2.x, 2.0) + pow(p1.y - p2.y, 2.0));
 }
-bool Region_detector::isRect(std::vector<cv::Point2f>& points)
+bool Region_detector::isRect(std::vector<cv::Point2f>& points, bool print)
 {
     if (points.size() == 4)
     {
@@ -73,6 +73,7 @@ bool Region_detector::isRect(std::vector<cv::Point2f>& points)
         double l2 = L[2];
         int max_index = 0;
         cv::Point2f ps = points[0], pt = points[1];
+        // 顶点
         cv::Point2f pc = points[2];
         for (int i = 1; i < 3; ++i) {
             if (L[i] > max_l) {
@@ -85,32 +86,48 @@ bool Region_detector::isRect(std::vector<cv::Point2f>& points)
                 pc = points[(i + 2) % 3];
             }
         }
+        // 顶角大小
         double cosa = (l1 * l1 + l2 * l2 - max_l * max_l) / (2.0 * l1 * l2);
-        if (fabs(cosa) >= 0.15 || std::min(l1,l2)>2.0 || std::max(l1,l2)>3.3) {
-            std::cout << " angle cos >0.13 =" << cosa << "  i=" << max_index;
-            std::cout << "L1:" << l1 << "  L2:" << l2 << "  L3:" << max_l;
+        // 顶角过小,矩形过宽,过长
+        if (fabs(cosa) >= 0.15 || std::min(l1, l2) > 2.0 || std::max(l1, l2) > 3.3)
+        {
+            if (print)
+            {
+                std::cout << " angle cos >0.13 =" << cosa << "  i=" << max_index;
+                std::cout << "L1:" << l1 << "  L2:" << l2 << "  L3:" << max_l;
+            }
             return false;
         }
 
         float width=std::min(l1,l2);
         float length=std::max(l1,l2);
-        if(width<1.400 || width >2.000 || length >3.300 ||length < 2.200)
+        // 车宽应位于[1.4, 2.0],车长应位于[2.2, 3.0]
+        if(width<1.400 || width >2.000 || length >3.000 ||length < 2.200)
         {
-            std::cout<<"\t width<1400 || width >2100 || length >3300 ||length < 2100 "
-                      <<"  length:"<<length<<"  width:"<<width;
+            if(print)
+            {
+                std::cout << "\t width<1400 || width >2100 || length >3300 ||length < 2100 "
+                          << "  length:" << length << "  width:" << width;
+            }
             return false;
         }
 
         double d = distance(pc, points[3]);
         cv::Point2f center1 = (ps + pt) * 0.5;
         cv::Point2f center2 = (pc + points[3]) * 0.5;
+        // 对角线形变超过0.15倍,或中心点距离偏差0.15m
         if (fabs(d - max_l) > max_l * 0.15 || distance(center1, center2) > 0.150) {
-            std::cout << "d:" << d << " maxl:" << max_l << "  center1:" << center1 << "  center2:" << center2
-                    << "  center distance=" << distance(center1, center2);;
+            if(print)
+            {
+                std::cout << "d:" << d << " maxl:" << max_l << "  center1:" << center1 << "  center2:" << center2
+                          << "  center distance=" << distance(center1, center2);
+            }
             return false;
         }
-        std::cout << " rectangle verify OK  cos angle=" << cosa << "  length off=" << fabs(d - max_l)
-                  << "  center distance=" << distance(center1, center2);
+        if(print){
+            std::cout << " rectangle verify OK  cos angle=" << cosa << "  length off=" << fabs(d - max_l)
+                      << "  center distance=" << distance(center1, center2);
+        }
         return true;
     }
     else if(points.size()==3)
@@ -137,29 +154,39 @@ bool Region_detector::isRect(std::vector<cv::Point2f>& points)
             }
         }
         double cosa = (l1 * l1 + l2 * l2 - max_l * max_l) / (2.0 * l1 * l2);
-        if (fabs(cosa) >= 0.15) {
-            std::cout << "3 wheels angle cos >0.12 =" << cosa << "  i=" << max_index;
-            std::cout << "L1:" << l1 << "  L2:" << l2 << "  L3:" << max_l;
+        if (fabs(cosa) >= 0.15)
+        {
+            if (print)
+            {
+                std::cout << "3 wheels angle cos >0.12 =" << cosa << "  i=" << max_index;
+                std::cout << "L1:" << l1 << "  L2:" << l2 << "  L3:" << max_l;
+            }
             return false;
         }
 
         double l=std::max(l1,l2);
         double w=std::min(l1,l2);
-        if(l>2.100 && l<3.300 && w>1.400 && w<2.100)
+        if(l>2.100 && l<3.000 && w>1.400 && w<2.100)
         {
             //生成第四个点
             cv::Point2f vec1=ps-pc;
             cv::Point2f vec2=pt-pc;
             cv::Point2f point4=(vec1+vec2)+pc;
             points.push_back(point4);
-            std::cout << "3 wheels rectangle verify OK  cos angle=" << cosa << "  L=" << l
-                      << "  w=" << w;
+            if(print)
+            {
+                std::cout << "3 wheels rectangle verify OK  cos angle=" << cosa << "  L=" << l
+                          << "  w=" << w;
+            }
             return true;
         }
         else
         {
-            std::cout<< "3 wheels rectangle verify Failed  cos angle=" << cosa << "  L=" << l
-                      << "  w=" << w;
+            if (print)
+            {
+                std::cout << "3 wheels rectangle verify Failed  cos angle=" << cosa << "  L=" << l
+                          << "  w=" << w;
+            }
             return false;
         }
 
@@ -167,7 +194,7 @@ bool Region_detector::isRect(std::vector<cv::Point2f>& points)
 
 }
 
-bool Region_detector::clustering(pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_in, std::vector<cv::Point2f>& corner_points) {
+bool Region_detector::clustering(pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_in, std::vector<cv::Point2f>& corner_points, bool print) {
     if (cloud_in->size() == 0) return false;
     /////聚类
     pcl::search::KdTree<pcl::PointXYZ>::Ptr kdtree(new pcl::search::KdTree<pcl::PointXYZ>);
@@ -203,7 +230,9 @@ bool Region_detector::clustering(pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_in, s
         j++;
     }
 
-    std::cout << " cluster class:" << clusters.size() << std::endl;
+    if(print){
+        std::cout << " cluster class:" << clusters.size() << std::endl;
+    }
 
     // std::vector<cv::Point2f> cvPoints;
     corner_points.clear();
@@ -239,7 +268,7 @@ bool Region_detector::detect(pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_in)
     return result;
 }
 
-bool Region_detector::detect(pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_in, double &x, double &y, double &c, double &wheelbase, double &width)
+bool Region_detector::detect(pcl::PointCloud<pcl::PointXYZ>::Ptr &cloud_in, double &x, double &y, double &c, double &wheelbase, double &width)
 {
     bool result = false;
     pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_filtered(pcl::PointCloud<pcl::PointXYZ>::Ptr(new pcl::PointCloud<pcl::PointXYZ>));
@@ -249,7 +278,13 @@ bool Region_detector::detect(pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_in, doubl
     if (cloud_filtered->size() <= 0)
         return false;
     std::vector<cv::Point2f> corner_points;
-    result = clustering(cloud_filtered, corner_points);
+    result = clustering(cloud_filtered, corner_points, true);
+    // add four corner points into input cloud
+    for (size_t i = 0; i < corner_points.size(); i++)
+    {
+        cloud_in->points.push_back(pcl::PointXYZ(corner_points[i].x, corner_points[i].y, 0.0));
+    }
+    
     if(result)
     {
         // convert all points after preprocessing into 2d
@@ -258,11 +293,11 @@ bool Region_detector::detect(pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_in, doubl
         for (int j = 0; j < cloud_filtered->size(); ++j) {
             all_points.push_back(cv::Point2f(cloud_filtered->points[j].x, cloud_filtered->points[j].y));
         }
-         std::cout<<"--------detector find center------"<<std::endl;
         cv::RotatedRect wheel_box = cv::minAreaRect(all_points);
         x=wheel_box.center.x;
         y=wheel_box.center.y;
-         std::cout<<"--------detector find rect -----"<<std::endl;
+        std::cout<<"-------- detector find center ["<<x<<", "<<y<<"] ------"<<std::endl;
+        std::cout<<"--------detector find rect -----"<<std::endl;
         cv::Point2f vec;
         cv::Point2f vertice[4];
         wheel_box.points(vertice);
@@ -283,9 +318,11 @@ bool Region_detector::detect(pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_in, doubl
         // calculate wheelbase according to corner points
         double dist0=0, dist1=0, dist2=0;
         wheelbase = std::max(wheel_box.size.width, wheel_box.size.height);
+        std::cout<<"--------detector find border: ["<<wheel_box.size.width<<", "<<wheel_box.size.height<<"] -----"<<std::endl;
         cv::RotatedRect wheel_center_box = cv::minAreaRect(corner_points);
         wheelbase = std::max(wheel_center_box.size.width, wheel_center_box.size.height);
-
+        std::cout<<"--------detector find center border: ["<<wheel_box.size.width<<", "<<wheel_box.size.height<<"] -----"<<std::endl;
+        
         width = std::min(wheel_box.size.width, wheel_box.size.height);
         std::cout<<"--------detector find all------"<<std::endl;
     }

+ 3 - 3
src/findwheel/src/region_detect.h

@@ -50,12 +50,12 @@ public:
     ~Region_detector();
     // given region id (start from 0) and cloud, find four wheels
     bool detect(pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_in);
-    bool detect(pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_in, double &x, double &y, double &c, double &wheelbase, double &width);
+    bool detect(pcl::PointCloud<pcl::PointXYZ>::Ptr &cloud_in, double &x, double &y, double &c, double &wheelbase, double &width);
 
 private:
     bool preprocess(pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_in, pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_out);
-    bool clustering(pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_in, std::vector<cv::Point2f>& corner_points);
-    bool isRect(std::vector<cv::Point2f>& points);
+    bool clustering(pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_in, std::vector<cv::Point2f>& corner_points, bool print=false);
+    bool isRect(std::vector<cv::Point2f>& points, bool print=false);
 
 public:
     EleFence::Region m_region_param;

+ 70 - 4
src/findwheel/src/tools/EleFence.pb.cc

@@ -188,14 +188,16 @@ const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_PROTOBUF_ATTRIBUT
   ~0u,  // no _weak_field_map_
   GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::EleFence::globalParam, lidar_params_),
   GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::EleFence::globalParam, regions_),
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::EleFence::globalParam, data_path_),
   ~0u,
   ~0u,
+  0,
 };
 static const ::google::protobuf::internal::MigrationSchema schemas[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
   { 0, 9, sizeof(::EleFence::Region)},
   { 13, 24, sizeof(::EleFence::Transform2d)},
   { 30, 42, sizeof(::EleFence::lidarParam)},
-  { 49, 56, sizeof(::EleFence::globalParam)},
+  { 49, 57, sizeof(::EleFence::globalParam)},
 };
 
 static ::google::protobuf::Message const * const file_default_instances[] = {
@@ -236,12 +238,13 @@ void AddDescriptorsImpl() {
       "nsform\030\002 \001(\0132\025.EleFence.Transform2d\022\025\n\nd"
       "ist_limit\030\003 \001(\002:\0018\022\020\n\004minx\030\004 \001(\002:\002-6\022\022\n\004"
       "maxx\030\005 \001(\002:\004-0.2\022\022\n\004miny\030\006 \001(\002:\004-3.5\022\021\n\004"
-      "maxy\030\007 \001(\002:\0033.5\"\\\n\013globalParam\022*\n\014lidar_"
+      "maxy\030\007 \001(\002:\0033.5\"q\n\013globalParam\022*\n\014lidar_"
       "params\030\001 \003(\0132\024.EleFence.lidarParam\022!\n\007re"
-      "gions\030\002 \003(\0132\020.EleFence.Region"
+      "gions\030\002 \003(\0132\020.EleFence.Region\022\023\n\tdata_pa"
+      "th\030\003 \001(\t:\000"
   };
   ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
-      descriptor, 469);
+      descriptor, 490);
   ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
     "EleFence.proto", &protobuf_RegisterTypes);
 }
@@ -1581,6 +1584,7 @@ void globalParam::InitAsDefaultInstance() {
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int globalParam::kLidarParamsFieldNumber;
 const int globalParam::kRegionsFieldNumber;
+const int globalParam::kDataPathFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 globalParam::globalParam()
@@ -1599,11 +1603,16 @@ globalParam::globalParam(const globalParam& from)
       lidar_params_(from.lidar_params_),
       regions_(from.regions_) {
   _internal_metadata_.MergeFrom(from._internal_metadata_);
+  data_path_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.has_data_path()) {
+    data_path_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.data_path_);
+  }
   // @@protoc_insertion_point(copy_constructor:EleFence.globalParam)
 }
 
 void globalParam::SharedCtor() {
   _cached_size_ = 0;
+  data_path_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
 }
 
 globalParam::~globalParam() {
@@ -1612,6 +1621,7 @@ globalParam::~globalParam() {
 }
 
 void globalParam::SharedDtor() {
+  data_path_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
 }
 
 void globalParam::SetCachedSize(int size) const {
@@ -1645,6 +1655,11 @@ void globalParam::Clear() {
 
   lidar_params_.Clear();
   regions_.Clear();
+  cached_has_bits = _has_bits_[0];
+  if (cached_has_bits & 0x00000001u) {
+    GOOGLE_DCHECK(!data_path_.IsDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()));
+    (*data_path_.UnsafeRawStringPointer())->clear();
+  }
   _has_bits_.Clear();
   _internal_metadata_.Clear();
 }
@@ -1681,6 +1696,22 @@ bool globalParam::MergePartialFromCodedStream(
         break;
       }
 
+      // optional string data_path = 3 [default = ""];
+      case 3: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->mutable_data_path()));
+          ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
+            this->data_path().data(), static_cast<int>(this->data_path().length()),
+            ::google::protobuf::internal::WireFormat::PARSE,
+            "EleFence.globalParam.data_path");
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
       default: {
       handle_unusual:
         if (tag == 0) {
@@ -1721,6 +1752,17 @@ void globalParam::SerializeWithCachedSizes(
       2, this->regions(static_cast<int>(i)), output);
   }
 
+  cached_has_bits = _has_bits_[0];
+  // optional string data_path = 3 [default = ""];
+  if (cached_has_bits & 0x00000001u) {
+    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
+      this->data_path().data(), static_cast<int>(this->data_path().length()),
+      ::google::protobuf::internal::WireFormat::SERIALIZE,
+      "EleFence.globalParam.data_path");
+    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+      3, this->data_path(), output);
+  }
+
   if (_internal_metadata_.have_unknown_fields()) {
     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
         _internal_metadata_.unknown_fields(), output);
@@ -1751,6 +1793,18 @@ void globalParam::SerializeWithCachedSizes(
         2, this->regions(static_cast<int>(i)), deterministic, target);
   }
 
+  cached_has_bits = _has_bits_[0];
+  // optional string data_path = 3 [default = ""];
+  if (cached_has_bits & 0x00000001u) {
+    ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
+      this->data_path().data(), static_cast<int>(this->data_path().length()),
+      ::google::protobuf::internal::WireFormat::SERIALIZE,
+      "EleFence.globalParam.data_path");
+    target =
+      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
+        3, this->data_path(), target);
+  }
+
   if (_internal_metadata_.have_unknown_fields()) {
     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
         _internal_metadata_.unknown_fields(), target);
@@ -1790,6 +1844,13 @@ size_t globalParam::ByteSizeLong() const {
     }
   }
 
+  // optional string data_path = 3 [default = ""];
+  if (has_data_path()) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::StringSize(
+        this->data_path());
+  }
+
   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   _cached_size_ = cached_size;
@@ -1821,6 +1882,10 @@ void globalParam::MergeFrom(const globalParam& from) {
 
   lidar_params_.MergeFrom(from.lidar_params_);
   regions_.MergeFrom(from.regions_);
+  if (from.has_data_path()) {
+    set_has_data_path();
+    data_path_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.data_path_);
+  }
 }
 
 void globalParam::CopyFrom(const ::google::protobuf::Message& from) {
@@ -1850,6 +1915,7 @@ void globalParam::InternalSwap(globalParam* other) {
   using std::swap;
   lidar_params_.InternalSwap(&other->lidar_params_);
   regions_.InternalSwap(&other->regions_);
+  data_path_.Swap(&other->data_path_);
   swap(_has_bits_[0], other->_has_bits_[0]);
   _internal_metadata_.Swap(&other->_internal_metadata_);
   swap(_cached_size_, other->_cached_size_);

+ 81 - 0
src/findwheel/src/tools/EleFence.pb.h

@@ -671,14 +671,32 @@ class globalParam : public ::google::protobuf::Message /* @@protoc_insertion_poi
   const ::google::protobuf::RepeatedPtrField< ::EleFence::Region >&
       regions() const;
 
+  // optional string data_path = 3 [default = ""];
+  bool has_data_path() const;
+  void clear_data_path();
+  static const int kDataPathFieldNumber = 3;
+  const ::std::string& data_path() const;
+  void set_data_path(const ::std::string& value);
+  #if LANG_CXX11
+  void set_data_path(::std::string&& value);
+  #endif
+  void set_data_path(const char* value);
+  void set_data_path(const char* value, size_t size);
+  ::std::string* mutable_data_path();
+  ::std::string* release_data_path();
+  void set_allocated_data_path(::std::string* data_path);
+
   // @@protoc_insertion_point(class_scope:EleFence.globalParam)
  private:
+  void set_has_data_path();
+  void clear_has_data_path();
 
   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
   ::google::protobuf::internal::HasBits<1> _has_bits_;
   mutable int _cached_size_;
   ::google::protobuf::RepeatedPtrField< ::EleFence::lidarParam > lidar_params_;
   ::google::protobuf::RepeatedPtrField< ::EleFence::Region > regions_;
+  ::google::protobuf::internal::ArenaStringPtr data_path_;
   friend struct ::protobuf_EleFence_2eproto::TableStruct;
   friend void ::protobuf_EleFence_2eproto::InitDefaultsglobalParamImpl();
 };
@@ -1242,6 +1260,69 @@ globalParam::regions() const {
   return regions_;
 }
 
+// optional string data_path = 3 [default = ""];
+inline bool globalParam::has_data_path() const {
+  return (_has_bits_[0] & 0x00000001u) != 0;
+}
+inline void globalParam::set_has_data_path() {
+  _has_bits_[0] |= 0x00000001u;
+}
+inline void globalParam::clear_has_data_path() {
+  _has_bits_[0] &= ~0x00000001u;
+}
+inline void globalParam::clear_data_path() {
+  data_path_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  clear_has_data_path();
+}
+inline const ::std::string& globalParam::data_path() const {
+  // @@protoc_insertion_point(field_get:EleFence.globalParam.data_path)
+  return data_path_.GetNoArena();
+}
+inline void globalParam::set_data_path(const ::std::string& value) {
+  set_has_data_path();
+  data_path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:EleFence.globalParam.data_path)
+}
+#if LANG_CXX11
+inline void globalParam::set_data_path(::std::string&& value) {
+  set_has_data_path();
+  data_path_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:EleFence.globalParam.data_path)
+}
+#endif
+inline void globalParam::set_data_path(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  set_has_data_path();
+  data_path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:EleFence.globalParam.data_path)
+}
+inline void globalParam::set_data_path(const char* value, size_t size) {
+  set_has_data_path();
+  data_path_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:EleFence.globalParam.data_path)
+}
+inline ::std::string* globalParam::mutable_data_path() {
+  set_has_data_path();
+  // @@protoc_insertion_point(field_mutable:EleFence.globalParam.data_path)
+  return data_path_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline ::std::string* globalParam::release_data_path() {
+  // @@protoc_insertion_point(field_release:EleFence.globalParam.data_path)
+  clear_has_data_path();
+  return data_path_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline void globalParam::set_allocated_data_path(::std::string* data_path) {
+  if (data_path != NULL) {
+    set_has_data_path();
+  } else {
+    clear_has_data_path();
+  }
+  data_path_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), data_path);
+  // @@protoc_insertion_point(field_set_allocated:EleFence.globalParam.data_path)
+}
+
 #ifdef __GNUC__
   #pragma GCC diagnostic pop
 #endif  // __GNUC__